JSONObject 和 JSONArray 的数据表现形式不同:
JSONObject的数据是用 { ?} 来表示的,例如:?{ "id" : "1","name" : "zhuzhu","age" : "22","sex" : "男"}?
JSONArray 是JSONObject组成的数组,是{ }外层套了一个 [ ] ,里边有一个或者多个 { } ,比如??[?{? "id" : "1",?"name" : "zhuzhu",?"age" : “22","sex" : "男"?} ]?
总结一下?JSONObject 外层是 { },JSONArray外层是 [ ]?
大家处理数据的时候一定要看清楚数据格式,分别使用不同的方法来处理数据,否则是会直接转换异常的!
下边简单来一个JSONObject小例子:
引入的包有:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@Test
public void testJSONObject(){
String str ="{id:"1",name:"zhuzhu",age:"22",sex:"男"}";
JSONObject jsonObject = JSONObject.parSEObject(str);
Integer id = jsonObject.getInteger("id");
String name = jsonObject.getString("name");
String age = jsonObject.getString("age");
String sex = jsonObject.getString("sex");
System.out.println("我是"+name+"我今年"+age+"岁啦,我的性别是"+sex);
}
?
输出为 :??我是zhuzhu我今年22岁啦,我的性别是男
再简单来一个JSONArray 的例子:
@Test
public void testJSONArray(){
String str = "[{"id":"1","name":"zhuzhu","age":"22","sex":"男"}]";
JSONArray jsonArray =JSON.parseArray(str);
Integer id = null;
String name = null ;
String age = null ;
String sex = null ;
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = (JSONObject) jsonArray.get(i);
id = jsonObject.getInteger("id");
name = jsonObject.getString("name");
age = jsonObject.getString("age");
sex = jsonObject.getString("sex");
}
System.out.println("我是"+name+"我今年"+age+"岁啦,我的性别是"+sex);
}
输出为 :??我是zhuzhu我今年22岁啦,我的性别是男
?
好了 这就结束了,希望能帮到大家,这里也有很多不全面的地方,只是给一种简单的参考,如有问题请批评指出 ,谢谢