一、Android原生解析
1.最简单的JSON对象{key:value,key:value }
String jsonStr = "{name:ywh,age:18}";
JSONObject obj = new JSONObject(jsonStr);
String name =obj.getString("name");
String age = obj.getString("age");
2.JSON对象套JSON数组{key:[{},{}]};
String jsonStr = {company:wz,users:[{name:ywh,age:18},{name:zjq,age:20}]}
JSONObject obj2 = null;
JSONObject obj = new JSONObject(jsonStr);
String company = obj.getString("company");
JSONArray array = obj.getJSONArray("users");
for(int i=0;i<array.length();i++)
{
obj2 = (JSONObject) array.opt(i);
name = obj2.getString("name");
age= obj2.getString("age");
}
3.JSON数组套JSON对象
String jsonStr = "[{id:20,name:ywh},{id:18,name:zjq}]";
JSONArray array = new JSONArray(jsonStr);
JSONObject obj =null;
for(int i=0;i<array.length();i++)
{
obj = (JSONObject)array.opt(i);
id =obj.getString("id");
name = obj.getString("name");
}
二、Gson解析
Person p =new Person("张三",18,"武汉");
Gson gson = new Gson();
String json = gson.toJson(p);//序列化,生成json
Gson gson2 = new Gson();
Person p2 = gson2.fromJson(p,Person.class);//反序列化,解析json
String name = p2.getName();
int age = p2.getAge();
String address = p2.getAddress();
三、Jackson
四、FastJson
下回再讲