解析JSON有俩种方式:JSONObject和GSON

Posted ly570

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析JSON有俩种方式:JSONObject和GSON相关的知识,希望对你有一定的参考价值。

  JSONObject:

//JSONObject解析JSON文件
private void parseJSONWithJSONObject(String json_data)
try
JSONArray jsonArray=new JSONArray(json_data);
for(int i=0;i<jsonArray.length();i++)
JSONObject jsonObject=jsonArray.getJSONObject(i);
String id=jsonObject.getString("id");
String name=jsonObject.getString("name");
String version=jsonObject.getString("version");
Log.d("MainActivity", "id is"+id);
Log.d("MainActivity", "name is"+name);
Log.d("MainActivity", "version is"+version);

catch(Exception e)
e.printStackTrace();


        GSON :

需要导入jar包:gson-2.0.jar,log4j-1.2.17.jar,slf4j-api-1.7.10.jar,slf4j-log4j12-1.7.10.jar
      还需要自定义与JSON文件相对应的对象 

class App
private String id;
private String name;
private String version;
public String getId()
return id;

public void setId(String id)
this.id = id;

public String getName()
return name;

public void setName(String name)
this.name = name;

public String getVersion()
return version;

public void setVersion(String version)
this.version = version;


        最后对传入JSON数据(String形式)进行解析

//GSON解析JSON文件方法
private void parseJSONWithGSON(String json_data)
Gson gson=new Gson();
List<App> appList=gson.fromJson(json_data, new TypeToken<List<App>>() .getType());
for(App app:appList)
Log.d("MainActivity", "id is"+app.getId());
Log.d("MainActivity", "name is"+app.getName());
Log.d("MainActivity", "version is"+app.getVersion(http://www.amjmh.com));


————————————————

以上是关于解析JSON有俩种方式:JSONObject和GSON的主要内容,如果未能解决你的问题,请参考以下文章

idea中servlet的俩种映射方式及优缺点

JSONObject 和 GSON 解析 JSON 数据详解(转)

基于POI导出Excel数据

如何构建json串,并将map转为jsonObject对象的三种方式(scala)

Json解析数据导致顺序改变问题

Unity使用JSONObject解析Json