json和Java对象相互转换的四种⽅法
第⼀种⽅法:原⽣解析
⾸先要分析json的格式,这⾥⾸先是⼀个json对象(即JsonObject),⾥⾯还嵌套有⼀个json数组(即JsonArray),jsonarray⾥⾯⼜是⼀个json对象
分析清楚那就可以进⾏解析了,当然最好的话,还是要建⽴⼀个json所对应的实体类bean,。
这⾥的result就是⽹络请求返回来的json字符串。
JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = JSONArray(“data”);
for (int j = 0; j < jsonArray.length(); j++) {
JSONObject jsonObject2 = JSONObject(j);
String id = String(“id”);
String title = String(“title”);
String pic = String(“pic”);
String collect_num = String(“collect_num”);
String food_str = String(“food_str”);
String num = String(“num”);
Log.e(“json——->”, id+”,”+title+”,”+pic+”,”+collect_num+”,”+food_str+”,”+num);
第⼆种解析⽅式:Gson解析
Gson解析需要下载gson.jar包。
这⾥解析就需要给json⽣成实体类,初学的话建议⼿写,熟悉的话可以使⽤Android Studio⾥⾯插件GsonFormat来⾃动⽣成。
json字符串转对象:
Student stu = new Gson().fromJson(json, Student.class);
对象转json字符串:
String json = new Gson().toJson(stu)
第三种解析⽅式:FastJson和Gson类似的。
引⼊jar包
json转换对象将json字符串转换为对象:(分两种情况)
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
或 List<;类型> list=JSON.parseArray(JSON字符串,类型.class);
将对象转换为JSON字符串:
String JSONString(要转换的对象)
第四种解析⽅式:JackJson解析,同样和上⾯类似
引⼊jar包
json字符串转对象
Student stu ;
stu = new ObjectMapper().readValue(json, Student .class);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论