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. [Cogs14] [网络流24题#1] 飞行员分配方案 [网络流,最大流,二分图匹配]

    经典二分图匹配,可以用匈牙利算法,也可以用最大流 代码如下(Dinic): #include <iostream> #include <cstdio> #include < ...

  2. nyoj_218_Dinner_201312021434

    Dinner 时间限制:100 ms  |           内存限制:65535 KB 难度:1   描述 Little A is one member of ACM team. He had j ...

  3. Javascript如何实现继承?

    前言 我这篇文章会误人子弟,我把继承跟构造函数实例化搞混了,汗!要想搞清楚JS的继承机制,看下大牛写的文章:http://www.cnblogs.com/dolphinX/p/3307903.html ...

  4. pthread2

    下面我们来看看这个demo #include <stdio.h> #include <pthread.h> #include <unistd.h> #include ...

  5. iphone照片查看器

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  6. 中国银联mPOS通用技术安全分析和规范解读

    mPOS是近年出现并得到迅速发展的一种新型受理产品,不少机构和生产企业进行了各种形式的试点. 因为mPOS引入了手机.平板电脑等通用智能移动设备.并通过互联网进行信息传输.因此其安全特点与传统银行卡受 ...

  7. Linux内核剖析 之 进程简单介绍

    1.概念 1.1  什么是进程?     进程是程序运行的一个实例.能够看作充分描写叙述程序已经运行到何种程度的数据结构的汇集.     从内核观点看.进程的目的就是担当分配系统资源(CPU时间,内存 ...

  8. 【Hibernate学习】 ——ORM(四)再次认识实体继承

    在信用办时.做失信.守信.黑名单这一块的时候.先把原来的需求看了看.紧接着就開始设计实体,这一块大部分都是同样的信息,所以就设计了一个实体,而且用一个状态标识出来是失信.守信还是黑名单. 在之后的改动 ...

  9. mongoDB学习笔记——在C#中查询

    1.下载安装 想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动貌似有很多种,如官方提供的samus. 实现思路大都类似.这里我们用官方提供的mongo-csh ...

  10. Codeforces Round #276 (Div. 1) A. Bits 贪心

    A. Bits   Let's denote as  the number of bits set ('1' bits) in the binary representation of the non ...