JSONObject与JSONArray的使用

JSONObject与JSONArray的使用需要的jar包下载

https://mvnrepository.com/artifact/org.json/json/20180130

Files pom (5 KB) bundle (60 KB) View All 中点击bundle即可

1,JSONObject

json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value}

2,JSONArray

json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的

区别:
Json对象中添加的是键值对,JSONArray中添加的是Json对象

源码:
后台创建JSONObject方法一:直接put

response.setCharacterEncoding("utf-8");
        JSONObject jsonObject =new JSONObject();
        jsonObject.put("name", "爱你");
        jsonObject.put("age", 12);
        System.out.println(jsonObject);
        System.out.println(jsonObject.isNull("name"));
        System.out.println(jsonObject.isNull("xx"));
        response.getWriter().write(jsonObject.toString());

输出:

{"name":"爱你","age":12}
false
true

后台创建JSONObject方法二:传入对象参数
也可以直接传入一个bean对象:

Student student1=new Student();
        student1.setName("小明");
        student1.setAge(12);
        student1.setNumber(13);
        System.out.println(student1.toString());
        JSONObject jsonObject = new JSONObject(student1);
        System.out.println(jsonObject);
        response.getWriter().print(jsonObject);

输出:

JsonServlet.Student@42ad3781
{"number":13,"name":"小明","age":12}

后台创建JSONObject方法三:传入String参数

JSONObject jsonObject2 =  
new JSONObject("{'name':'Tom','age':11}");
JSONObject jsonObject =  
new JSONObject("{\"name\":\"爱你\",\"age\":12}");

后台创建JSONObject方法四:jsonArray.get获得

JSONArray jsonArray =  
 new JSONArray("[{'name':'11'},{'name':'13'}]");
JSONObject jsonObject = (JSONObject) jsonArray.get(0);

后台创建JSONArray方法一:传入String参数

JSONArray jsonArray =   
new JSONArray("[{'name':'11'},{'name':'13'}]");

后台创建JSONArray方法二:put传入JSONObject

JSONObject jObject1 = new JSONObject();
        jObject1.put("name", "12");
        JSONObject jObject2 = new JSONObject();
        jObject2.put("name", "13");
        JSONArray jsonArray = new JSONArray();
        jsonArray.put(jObject1);
        jsonArray.put(jObject2);

输出:

[{"name":"12"},{"name":"13"}]

后台创建JSONArray方法二:传入list参数

List list=new ArrayList();
        Student student1=new Student();
        student1.setAge(12);
        student1.setName("12");
        Student student2=new Student();
        student2.setAge(13);
        student2.setName("12");
        list.add(student1);
        list.add(student2);
        JSONArray jsonArray = new JSONArray(list);
        System.out.println(jsonArray);
        response.getWriter().print(jsonArray);

前台获取后台JSON方法:不管是JSONObject还是JSONArray

var json=JSON.parse(xmlHttp.responseText);

如果是JSONObject:

document.getElementById("mydiv").innerHTML=json.name; 
或者
document.getElementById("mydiv").innerHTML=json["name"]; 

如果是JSONArray:
根据下标先得到JSONObject

document.getElementById("mydiv").innerHTML=json[0].name; 

参考自:

JSONObject与JSONArray的使用

JSONObject、JSONArray

JSONArray的API

你可能感兴趣的:(普通知识)