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");

json简介及josn数组中取字符的更多相关文章

  1. js 查找数组中某个字符出现的次数

    1. js 查找数组中某个字符出现的次数 代码示例 let arr = ['asd', 'green', 'yeadt', 'red', 'wati', 'red', 'red'] let index ...

  2. JS中彻底删除json对象组成的数组中的元素

    只是分享一个小知识~ 在JS中,对于某个由json对象组成的数组,例如: var test = [{ "a": "1", "b": &quo ...

  3. 关于将多个json对象添加到数组中的测试

    如果用数组push添加不到数组中的,这个我也不知道是为什么?然后我选择了另一种发放就是从数组出发,逆向添加 最后的数组是这样的: data1=['公司1','公司2','公司3','公司4']; ar ...

  4. 【LeetCode】1408. 数组中的字符串匹配 String Matching in an Array

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 暴力遍历 日期 题目地址:https://leetco ...

  5. 判断json对象是否在数组中

    // 判断对象是否在数组中function objinArrar(check,param){ var isExisted = false; var index = -1; for(var i=0;i& ...

  6. JS 多数组中取最大数组,分组

    代码小结,使用 JS 对数据进行分组,对分组中的数组取最大数组: var combineTemplate = JSON.parse(data.combineTemplate); //根据仪器种类ID分 ...

  7. 将从数组中取到的字符串赋值给了UIImage导致的错误

    Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantStr ...

  8. java从c struct传来的字节数组中取值

    public int getInt(byte[] array,int index) { return (array[index]  & 0xff)  | (array[index + 1] & ...

  9. python 将数组中取某一值的元素全部替换为其他元素的方法

    这里的问题是在做House Price Prediction的时候遇到的,尝试对GarageArea做log转化,但是由于有些房子没有车库,所以GarageArea = 0,再通过log转化变成-in ...

随机推荐

  1. Spring Boot 内嵌容器 Tomcat / Undertow / Jetty 优雅停机实现

    Spring Boot 内嵌容器 Tomcat / Undertow / Jetty 优雅停机实现 Anoyi 精讲JAVA 精讲JAVA 微信号 toooooooozi 功能介绍 讲解java深层次 ...

  2. Linux imooc learning

    https://www.imooc.com/video/3529 Windows Vs Linux Linux: (other linux overall   https://onedrive.liv ...

  3. 【ACM】nyoj_106_背包问题_201308152026

    背包问题时间限制:3000 ms  |  内存限制:65535 KB 难度:3描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10 ...

  4. SSH框架之Struts(3)——Struts的执行流程之核心方法

    上篇讲了Tomcat实例化一个单例的ActionServlet.依据web.xml配置文件做好对应的初始化工作. 这时client产生一个.do结尾的request请求,採用get/post方式提交之 ...

  5. Linux vim 入门 配置 及 使用初步

    网上能够找到的,关于VI的教程,更是多为能吓死人的上百页说明.事实上, 从我个人的实践看,全然不须要如此夸张.要完毕最主要的编辑.仅仅要熟悉几个命令,就是把VIM用得非常好. 这里就列举一下: Esc ...

  6. 蒟蒻的数位DP专题总结

    BZOJ  1026: [SCOI2009]windy数: 题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1026           d ...

  7. 【数据结构】链式向前星知识点&代码

    代码: struct NODE{ int to; int nxt; int c; }node[MM];//链式向前星 ; void add(int a,int b,int c){ node[lcnt] ...

  8. Codeforces--598A--Tricky Sum(数学)

     Tricky Sum Tricky SumCrawling in process... Crawling failed Time Limit:1000MS     Memory Limit:26 ...

  9. DCloud-JS-MUI-JS:utils.js

    ylbtech-DCloud-JS:utils.js 1. 导航返回返回顶部 1. var oldBack = mui.back; mui.back = function () { mui.back ...

  10. bzoj4078

    二分+2-sat 枚举第一个权值,二分第二个权值,然后2-sat检查,当第一个权值已经不能形成二分图时,再往下没意义,因为没法分成两个点集.(双指针好像跑得慢) #include<bits/st ...