当前位置:编程学习 > JS >>

Android编程心得-JSON使用心得

在使用JSON的时候我们发现有如下问题需要注意,如下列代码


[java]    JSONObject jsonObject = new JSONObject();  
   try { 
    jsonObject.put("test", "测试1"); 
    jsonObject.put("test", 100); 
} catch (JSONException e) { 
    // TODO Auto-generated catch block  
    e.printStackTrace(); 

  System.out.println(jsonObject); 

    JSONObject jsonObject = new JSONObject();
    try {
  jsonObject.put("test", "测试1");
  jsonObject.put("test", 100);
 } catch (JSONException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
   System.out.println(jsonObject);
}

 

我第一次认为会输出两列值,后来发现Json对象是Name Value对(即子元素)的无序集合,相当于一个Map对象,所以结果就是一个

{"test":100}

 

[java]    JSONObject jsonObject = new JSONObject();  
   JSONArray member=new JSONArray(); 
   JSONObject jsonObject2=new JSONObject(); 
   try { 
    jsonObject.put("test", "测试1"); 
    jsonObject.put("test1", 100); 
 
    jsonObject2.put("test", "测试1"); 
    jsonObject2.put("test1", 100); 
 
    member.put(jsonObject); 
    member.put(jsonObject2); 
} catch (JSONException e) { 
    // TODO Auto-generated catch block  
    e.printStackTrace(); 

 
  System.out.println(   member); 

    JSONObject jsonObject = new JSONObject();
    JSONArray member=new JSONArray();
    JSONObject jsonObject2=new JSONObject();
    try {
  jsonObject.put("test", "测试1");
  jsonObject.put("test1", 100);

  jsonObject2.put("test", "测试1");
  jsonObject2.put("test1", 100);
 
  member.put(jsonObject);
  member.put(jsonObject2);
 } catch (JSONException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }

   System.out.println( member);
}
jsonArray与jsonObject不一样,它的里面可以存放重复数据,并且是有序的,所以这里输出的是

[{"test1":100,"test":"测试1"},{"test1":100,"test":"测试1"}]

 

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,