[fastjson] - fastjson中 JSONObject 和 JSONArray

/**
     * 对jsonObject对象进行key的获取
     * @param jsonObject
     */

    public ArrayList<String> jsonKeyRecursion(JSONObject jsonObject,ArrayList urlArr){
        //创建urlArr用来存放url路径values
        JSONObject littleJson = null;

        //对jsonObject中的url(key)的value进行更替, 加入授权请求连接
//        String key = null;
        for(String key : jsonObject.keySet()){
            System.out.println("key : "+key);
            //返回新的button下的json串
            littleJson = (JSONObject) jsonObject.get(key);
            System.out.println("littleJson : "+littleJson);

            if(key.equals("url")){
                urlArr.add(littleJson);
                System.out.println("add one littleJson to array : "+littleJson);
            }
        }
        boolean url = littleJson.containsKey("");
        System.out.println("url:"+url);
        //这里的littleJson是JSONArray了,所以传入失败
        jsonKeyRecursion(littleJson,urlArr);

//        Set<String> strings = littleJson.keySet();
////        littleJson
//        System.out.println("strings:"+strings); // 1. button
//        Set<Map.Entry<String, Object>> entries = littleJson.entrySet();
//        Object[] objects = entries.toArray();
//        System.out.println(objects);
//        System.out.println("entries:"+entries); // 1. [button=[{"name":"今日歌曲","sub_button":[],"type":"click","key ...
//        Iterator<Map.Entry<String, Object>> iterator = entries.iterator();
//        if(iterator.hasNext()){
//            System.out.println("iterator.next():"+iterator.next());
//        }

        return urlArr;
    }

并没有获取复杂的嵌套json数据的很好的方法么

待解析

原文地址:https://www.cnblogs.com/ukzq/p/10082207.html

时间: 2024-10-11 11:46:59

[fastjson] - fastjson中 JSONObject 和 JSONArray的相关文章

JAVA中 JSONObject与JSONArray的使用

一.JAR包 需引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar 二.JSONObject对象使用 //JSONObject对象的创建和数据的添加(key-value方式)    private static JSO

json-lib中的JSONObject和JSONArray

json-lib是用来完成beans,collections,maps,java数组 ,XML与JSON之间互相转换的jar包,json-lib依赖于其它几个jar包(我试过所有的jar包都用最新版本的,结果是会报错的,这说明版本之间还是有配套关系的,合适的才是最好的!),如下图所示,可以到这里下载! 而在json-lib中JSONObject和JSONArray是用得很频繁的两个类. JSONObject是无序的键值对的集合,是用“花括号”括起来的一系列键值对:例如:{"id":&q

Fastjson, Gson, org.json.JSON三者对于JSONObject及JSONArray的判断

1.Fastjson 我们通常在已知格式的情况下直接使用JSONObject,JSONArray,但是如果遇到需要判断格式呢? try{ Object object = JSON.parse(a); if (object instanceof JSONObject){ //JSONObject } if (object instanceof JSONArray){ //JSONArray } }catch (com.alibaba.fastjson.JSONException e){ //非JS

FastJson中JSONObject用法及常用方法总结

最近一直有用到解析各种数据,主要是用FastJson进行数据解析,其中一个重要的类为JSONObject,今天有时间,所以进行总结一下: JSONobject是FastJson提供的对象,在api中是用一个私有的常量map进行封装的,实际就是一个map,只不过FastJson对其进行了封装, 添加了很多方便快捷的属性方法. private final Map<String, Object> map; 在项目中添加maven依赖 <dependency> <groupId>

fastjson之JSONObject、JSONArray

JSONObject,JSONArray是JSON的两个子类. 首先我们来看JSONObject源码: 会发现JSONObject是继承Map<String, Object>,并且都是使用的Map中的方法.可以说JSONObject相当于Map<String, Object> 看个具体的列子: /** * 将Map转成JSONObject,然后添加元素,输出 */ @Test public void testJsonObject() { Map<String, Object&

嵌套的JsonObject与JSONArray的取值---JSON中嵌套JSONArray

在复杂的JSON数据的格式中,往往会对JSON数据进行嵌套,这样取值会比之前的取值稍微复杂一点,但是只要思路清晰,其实取法还是一样的.就跟if else语句一样,如果if中套if,if中再套if,写的规范了还行,要是代码格式不规范,那我们肯定也看着麻烦.所以啊,对于json嵌套,只要记住符号“:”前是键,符号后是值,大括号成对找,一层层剥开,就清楚了. 举个例子说明,如下: { "resultcode":"200", "reason":"

json 的解析-使用Android中的JSONObject和JSONArray解析json数据

1.代码 public class MainActivity extends Activity { TextView tv_json; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_json = (TextView) findViewById(R.id.tv_j

Gson基本操作,JsonObject,JsonArray,String,JavaBean,List互转

http://www.cnblogs.com/jianyungsun/p/6647203.html http://blog.csdn.net/pg_guo/article/details/51083502 String.JsonObject.JavaBean 互相转换 User user = new Gson().fromJson(jsonObject, User.class); User user = new Gson().fromJson(string, User.class); Strin

011-JSON、JSONObject、JSONArray使用、JSON数组形式字符串转换为List&lt;Map&lt;String,String&gt;&gt;的8种方法

一.JSON数据格式 1.1.常用JSON数据格式 1.对象方式:JSONObject的数据是用 { } 来表示的, 例如: { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null } 2.数组方式:JSONArray,顾名思义是由JSONObject构成的数组,用