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 ,