json in java

来源:互联网 发布:python如何调用dll 编辑:程序博客网 时间:2024/06/12 00:24

基本的JSONArray与JSONObject操作

JSONObject my_json=new JSONObject();          my_json.put("class", "二年级");          my_json.put("total", 2);  
JSONArray members=new JSONArray();          //第一个同学          JSONObject member1=new JSONObject();          member1.put("name", "李小红");          member1.put("age", 18);  members.put(member1);  //第二个同学          JSONObject member2=new JSONObject();          member2.put("name", "王尼玛");          member2.put("age", 28);           members.put(member2);                 my_json.put("members", members);                    return my_json.toString();  
由java自带的数据结构转换为JSON文本:
import java.util.HashMap;import java.util.Map;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class ObjectAndArray2{    public static void main(String args[])    {        //可以由数组,列表等生成JSONArray        String list[]={"11","22"};        JSONArray jsonarray = JSONArray.fromObject(list);         jsonarray.add("33");        System.out.println(jsonarray);    //输出为:["11","22","33"]                //可以由Map生成JSONObject        Map<String,Object> map=new HashMap<String,Object>();        map.put("NO1", "第一个");        map.put("NO2", "第二个");        map.put("NO3", jsonarray);        JSONObject jsonObj  = JSONObject.fromObject(map);        System.out.println(jsonObj);    //输出为:{"NO3":["11","22","33"],"NO2":"第二个","NO1":"第一个"}    }}
读取JSON文本
JSONArray必须用下标读取内部数据。
JSONObject必须用”键“读取对应的”值“。
import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class ObjectAndArray {    public static void main(String args[])    {        JSONArray jsonarray;        JSONObject jsonObj;        //读取JSONArray,用下标索引获取        String array="[\"11\",\"22\",\"33\"]";        jsonarray = JSONArray.fromObject(array);         System.out.println(jsonarray.getString(1));    //输出为:22                //读取JSONObject        String object="{\"NO1\":[\"44\",\"55\",\"66\"],\"NO2\":{\"NO1\":\"第一个\"}}";        jsonObj  = JSONObject.fromObject(object);        System.out.println(jsonObj.get("NO1"));    //输出为:["44","55","66"]                jsonarray = (JSONArray)(jsonObj.get("NO1"));         System.out.println(jsonarray.getString(1));    //输出为:55                //用"键"获取值        jsonObj=(JSONObject)jsonObj.get("NO2");        System.out.println(jsonObj);    //输出为:{"NO1":"第一个"}            }}

总结

  JSON就是一种数据的组织形式,可以说是XML的简化版本,只用于数据传输。




原创粉丝点击