0
点赞
收藏
分享

微信扫一扫

json使用


本篇三种解析的对象为json数组

JsonObject

private void parseJSON(String result) {
try {
JSONArray jsonArray = new JSONArray(result);
for (int i = 0; i <= jsonArray.length(); i++) {
JSONObject obj = jsonArray.getJSONObject(i);

String id = obj.optString("id");
String name = obj.optString("name");
String age = obj.optString("age");

Log.d("jsonresult", id + "::" + name + "::" + age);
}
} catch (JSONException e) {
e.printStackTrace();
}
}

gson

这是Google提供的方法:​​gson2.3.1包下载包​​
只需先创建好javabean,然后一行fromJson传入即可

private void gsonParseJson(String result) {
List<Person> persons= new ArrayList<Person>();
Gson gson = new Gson();
// Person persons= gson.fromJson(result, Person.class); // 针对非数组情况

persons= gson.fromJson(result, new TypeToken<List<Person>>() {}.getType());
for (Person person : persons) {
String id = person.getId();
String name = person.getName();
String age = person.getAge();
Log.d("jsonresult", id + "::" + name + "::" + age);
}
}

fastjson

/**
* fastjson
* example compile 'com.alibaba:fastjson:1.2.38'
*
* github https://github.com/alibaba/fastjson
*/
public class JsonT {

/**
* object --> json
*/
public static String toJson(Object obj) {

if (null == obj)
return "obj == null, plz check param obj";

String json = JSON.toJSONString(obj);
if (null != json && !"".equals(json)) {
return json;
} else {
return "";
}
}


/**
* json --> object
*/
public static <T> T toObj(String json, Class<T> clz) {

if (null == json)
throw new RuntimeException("return json is null");

return JSON.parseObject(json, clz);
}
}


举报

相关推荐

0 条评论