JSONObject和JSONArray

来源:互联网 发布:腾讯数据库占地 编辑:程序博客网 时间:2024/04/28 21:22

JSONObject对象是json格式数据,JSONArray对象里面是一个个的json对象,比如下面例子里contextList标签值就可以作为JSONArray对象。

json例子:

{    "return": {        "result": "000",        "contentList": [            {                "jobId": 909,                "woCode": "10",                "woStatus": "已审核"            },            {                "jobId": 907,                "woCode": "08",                "woStatus": "处理中"            },            {                "jobId": 906,                "woCode": "07",                "woStatus": "待审核"            }        ]    }}

比如想要获取第二个woCode的值08,思路是:

1、整体转换成JSONOblect对象。

2、获取return标签的值(也是JSONObject对象)

3、获取contentList标签内容(注意这里是JSONArray对象)

4、获取Array里的第二个元素(JSONObject对象)

5、获取woCode标签的值(String类型)


代码:

import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;public class tt {/*** @param args* @throws JSONException */public static void main(String[] args) throws JSONException {String returnJson="{\"return\": {\"result\": \"000\",\"contentList\": [{ \"jobId\": 909, \"woCode\": \"10\",\"woStatus\": \"已审核\"},{\"jobId\": 907,\"woCode\": \"08\",\"woStatus\": \"处理中\"},{\"jobId\": 906,\"woCode\": \"07\",\"woStatus\": \"待审核\"} ]}}";JSONObject jso =new JSONObject(returnJson);JSONObject rejson = jso.getJSONObject("return");JSONArray conlist = rejson.getJSONArray("contentList");JSONObject secjson = conlist.getJSONObject(1);String wocode = secjson.getString("woCode");System.out.println(wocode);}}



详细介绍:

JSONObject:

json对象,一个键对应一个值,使用大括号{},例:{"return":000,"desc":"description_txt"}。

JSONArray:

json数组,使用中括号[],数组里的每一个数组元素都是json对象。


JSONObject对象添加值用put方法,获取值根据结果值类型使用相应的get方法:

JSONObject json = new JSONObject();

json.put("key":"value");


JSONArray数组对象添加值用add方法,加的是JSONObject对象,获取值也是根据结果值使用相应的get方法,注意入参是数组下标值:

JSONArray jarr = new JSONArray();

jarr.add(json);



0 0