w-yq

1.json字符串就是字符串,只不过格式是Json格式的,以键值对的形式存在,键和值可以是字符串,数字,空值,数组等。

  json对象在花括号中书写,一个json对象包含多个键值对,json对象以花括号开始,花括号结束。

  {"name1":"value1","name2":"value2","name3":"value3"}

2.json数组在方括号中书写,一个josn数组里面包含多个json对象,方括号开始,方括号结束。
   [{"name1":"value1","name2":"value2"},{"name1":"value1","name2":"value2"}]

3.json字符串中取name2的值

  String json = "{\'name1\':\'value1\',\'name2\':\'value2\'}";

  将json字符串转换成json对象,再取值

   JSONObject jb = JSONObject.fromObject(json);

  String name = jb.getString("name2");

4.json数组中取值name12对应的值

  String json1 = "{\'name1\':{\'name2\':[{\'name3\':\'value3\',\'name4\':\'value4\'},{\'name5\':\'value5\',\'name6\':\'value6\'}],\'name7\':[{\'name8\':\'value8\',\'name9\':\'value9\'},{\'name12\':\'value12\',\'name13\':\'value13\'}]},\'name10\':\'value10\',\'name11\':\'value11\'}";

先转换成json对象

JSONObject jb1 = JSONObject jb1 = JSONObject.fromObject(json1);

层层剥离,取name1对应的值

JSONObject jb2 = jb1.getJSONObject("name1");

取到的值是name1冒号后面对应的值,是以json对象的形式存在的,然后再取name7对应的值,name7对应的值是json数组,所以:

JSONArray ja1 = jb2.getJSONArray("name7");

ja1的值为 [{\'name8\':\'value8\',\'name9\':\'value9\'},{\'name12\':\'value12\',\'name13\':\'value13\'}]

要取到name12对应的值,此处应该用循环去取,

先定义一个空的json对象:JSONObject jb3 = null;

for(int i = 0;i<ja1.length();i++){
   jb3 = ja1.getJSONObject(i);
}

如果将jb3的值输出一下,输出为{\'name8\':\'value8\',\'name9\':\'value9\'}和{\'name12\':\'value12\',\'name13\':\'value13\'}

再从jb3中取name12对应的值

String name = jb3.getString("name12");

 

分类:

技术点:

相关文章:

  • 2021-07-01
  • 2021-12-27
  • 2021-12-06
  • 2021-12-27
  • 2021-11-21
  • 2021-12-27
  • 2021-06-03
  • 2021-12-27
猜你喜欢
  • 2021-12-19
  • 2021-11-20
  • 2021-12-27
  • 2021-12-27
  • 2021-12-27
相关资源
相似解决方案