JSONArray和JSONObject

Posted 李月云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSONArray和JSONObject相关的知识,希望对你有一定的参考价值。

JSONObject的数据用{}来表示,如:

{ "id" : "123", "courseID" : "huangt-test", "title" : "提交作业"}  

JSONArray是由JSONObject构成的数组,用[{},{}]来表示,如:

[{"id" : "123", "courseID" : "huangt-test", "title" : "提交作业"},  {"beginTime" : 1398873600000  "endTime"}] ;

接下来看一下具体的例子:

package jsontest;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JSONObjectSample {

    // 创建JSONObject对象
    private static JSONObject createJSONObject() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("username", "huangwuyi");
        jsonObject.put("sex", "男");
        jsonObject.put("QQ", "413425430");
        jsonObject.put("Min.score", new Integer(99));
        jsonObject.put("nickname", "梦中心境");
        return jsonObject;
    }

    public static void main(String[] args) {
        JSONObject jsonObject = JSONObjectSample.createJSONObject();
        // jsonObject:{"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境"}
        System.out.println("jsonObject:" + jsonObject);

        boolean isArray = jsonObject.isArray();  //false
        boolean isEmpty = jsonObject.isEmpty();  //false
        boolean isNullObject = jsonObject.isNullObject();  //false

        // 添加属性
        jsonObject.element("address", "福建省厦门市");

        // 返回一个JSONArray对象
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(0, "this is a jsonArray value");
        jsonArray.add(1, "another jsonArray value");
        jsonObject.element("jsonArray", jsonArray);
        //获取追加的名为"jsonArray"的一个jsonArray
        JSONArray array = jsonObject.getJSONArray("jsonArray");
        //{"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}
        System.out.println(jsonObject);

        // 根据key返回一个字符串
        String username = jsonObject.getString("username");

        // 把字符转换为 JSONObject
        String temp = jsonObject.toString();
        JSONObject object = JSONObject.fromObject(temp);

    }

}

注意一下JSONObject的put()和element()方法的区别: 
public Object put (Object key, Object value): 
将value映射到key下。如果此JSONObject对象之前存在一个value在这个key下,当前的value会替换掉之前的value 
public JSONObject element (String key, Object value): 
将键/值对放到这个JSONObject对象里面。如果当前value为空(null),那么如果这个key存在的话,这个key就会移除掉。

 





以上是关于JSONArray和JSONObject的主要内容,如果未能解决你的问题,请参考以下文章

json字符串转换为JSONObject和JSONArray

JSONObject和JSONArray

JsonArray和JsonObject的使用

JSON Java 检查元素是 JSONArray 或 JSONObject

JSONObject和JSONArray的基本使用

JSONObject 和 JSONArray 的区别和用法