如何读取json字符串中的数组

如何读取json字符串中的数组,第1张

json来做吧,先去下载下jar包。下面是测试的代码:

try{   

    String str = "{'list':['1,2','3,4','5,6']}";

    JSONObject jsonObject = JSONObjectfromObject(str);  //吧转为json对象

    String array= jsonObjectgetString("list"); //获取list的值

    JSONArray jsonArray = JSONArrayfromObject(array); //吧list的值转为json数组对象

    Object[] strs = jsonArraytoArray(); //json转为数组

    for(Object s:strs){

        Systemoutprintln(s);

    }

}catch(Exception e){eprintStackTrace();}

json中取出对象的属性值步骤如下:

1、打开vscode,创建一个测试页面JsonTesthtml,用于演示在js中如何获取json对象的属性集合。

2、在测试页面中,定义一个js变量,将其赋值为json格式的字符串,用于模拟从后台返回过来的json字符串值,以及后续转换为json对象,和获取其属性集合。var json = "[{\"Col1\": \"Hello\", \"Col2\": \"World\"}, {\"Col1\": \"您好\", \"Col2\": \"世界\"}]"。

3、使用js的eval函数,将json字符串的变量值,转换为json对象。var $json = eval("(" + json + ")");

4、得到json对象之后,使用for-in循环语句,得到json对象的序号,也就是,这个json对象中,还有多少个子对象。

5、因为js是弱类型的语言,并不要求json对象中的每个子对象属性都一样。所以,在得到序号之后,使用Objectkeys($json[i]); 就能获取到当前json子对象的属性集合。

6、如果想要获取到json对象的每个具体的列名和值,就需要再加一个for循环,遍历列名,得到列名和值。

我们需要先把json字符串转化为netsfjsonJSONObject对象,java中这样就可以完成json字符串到Map的转换了。

1将数组转换为JSON:String[] arr = {"asd","dfgd","asd","234"};JSONArray jsonarray = JSONArrayfromObject(arr);Systemoutprintln(jsonarray);

2对象转换成JSON:UserInfo user = new UserInfo(1001,"张三");JSONArray jsonArray = JSONArrayfromObject(user);Systemoutprintln( jsonArray );

3把Map转换成json, 要使用jsonObject对象:Map<String, Object> map = new HashMap<String, Object>();mapput("userId", 1001);mapput("userName", "张三");mapput("userSex", "男");JSONObject jsonObject = JSONObjectfromObject(map);Systemoutprintln(jsonObject);

4把List转换成JSON数据:List<UserInfo> list = new ArrayList<UserInfo>();UserInfo user = new UserInfo(1001, "张三");listadd(user);listadd(user);listadd(user);JSONArray jsonArray = JSONArrayfromObject(list);Systemoutprintln(jsonArray);

5

首先你的这个json串就有问题,修改下才能解析,解析方法如下

JSONObject log=jsonObjectgetJSONObject("第一级Object");

JSONArray jsonArray = loggetJSONArray("Object中的array");

JSONObject pages = jsonArraygetJSONObject(0); //从jsonArray中解析第一个Object

JSONObject pageTimings=pagesgetJSONObject("继续解析object");

String onContentLoad=pageTimingsgetString("onContentLoad"); //得到想要的值

把{}大括号扩起来的看成是object,如果有名字就根据名字来解析,如果没名字就根据序号来解析,上面的代码两种情况均有涉及,请注意参考与更改变量名。[]扩起来的看成数组,用getArray解析,同样可以用名字或序号解析

以上就是关于如何读取json字符串中的数组全部的内容,包括:如何读取json字符串中的数组、json中怎么取出对象的属性值啊、JAVA中json字符串如何转化为map对象获取数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9551558.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存