使用gson解析json数据
2017-01-09 11:52
288 查看
这是一篇小白的文章,写这篇文章时,我只会原生的json解析,第三方的gson,fastjson,包括刚听说的jackjson都是一知半解,今天写了一个demo,使用gson来解析json数据,希望对json解析的小白有些帮助。
首先是接口,我使用的是http://v.juhe.cn/weixin/query?key=78f723dccf85aea324a3cf0daac97f35,里面的结构不变,但是内容一直在更新。
其次我用的开发工具是eclipse。
好了,开始我们的gson解析json数据路程。
第一步,json数据的格式。
在网页打开上面的链接,获取数据source,放在在线代码格式化中格式化之后成为了这样:
![](https://img-blog.csdn.net/20170109112250278?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDU5NzQ5Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
我想获取的是最里层的title和source两个数据,其他数据就类似了。
第二步,创建工程,导入xutils和gson的jar包(这两个jar包可以百度到)。
第三步,创建javabean。这个结构最外层是{},所以先新建个One.java的类来存储数据。
*注意:
1.变量名字要和键值对中的键保持一致。我试过将reason换成reasona,就解析不出来了。
2.因为result对应的是一个{},所以这对大括号需要用新的javabean来存储,我定义了Two来存储。*
注意:因为list对应的数据是[],是一个集合,所以用list来存储。其中Three是最里层的javabean对象。
到此javabean对象就写完了。
第四步:mainactivity中请求数据,解析数据.
完毕。
首先是接口,我使用的是http://v.juhe.cn/weixin/query?key=78f723dccf85aea324a3cf0daac97f35,里面的结构不变,但是内容一直在更新。
其次我用的开发工具是eclipse。
好了,开始我们的gson解析json数据路程。
第一步,json数据的格式。
在网页打开上面的链接,获取数据source,放在在线代码格式化中格式化之后成为了这样:
我想获取的是最里层的title和source两个数据,其他数据就类似了。
第二步,创建工程,导入xutils和gson的jar包(这两个jar包可以百度到)。
第三步,创建javabean。这个结构最外层是{},所以先新建个One.java的类来存储数据。
public class One { private String reason; private Two result; public Two getResult() { return result; } public void setResult(Two result) { this.result = result; } public String getReason() { return reason; } public void setReason(String reason) { this.reason = reason; } @Override public String toString() { return "One [reason=" + reason + "]"; } }
*注意:
1.变量名字要和键值对中的键保持一致。我试过将reason换成reasona,就解析不出来了。
2.因为result对应的是一个{},所以这对大括号需要用新的javabean来存储,我定义了Two来存储。*
public class Two { private String ps; private List<Three> list; public String getPs() { return ps; } public void setPs(String ps) { this.ps = ps; } public List<Three> getList() { return list; } public void setList(List<Three> list) { this.list = list; } @Override public String toString() { return "Two [ps=" + ps + "]"; } }
注意:因为list对应的数据是[],是一个集合,所以用list来存储。其中Three是最里层的javabean对象。
public class Three { private String title; private String source; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getSource() { return source; } public void setSource(String source) { this.source = source; } @Override public String toString() { return "Three [title=" + title + ", source=" + source + "]"; } }
到此javabean对象就写完了。
第四步:mainactivity中请求数据,解析数据.
public class MainActivity extends Activity { private String wechat_url = "http://v.juhe.cn/weixin/query?key=78f723dccf85aea324a3cf0daac97f35"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); HttpUtils httpUtils = new HttpUtils(); httpUtils.send(HttpMethod.GET, wechat_url, new RequestCallBack<String>() { @Override public void onFailure(HttpException arg0, String arg1) { // TODO Auto-generated method stub } @Override public void onSuccess(ResponseInfo<String> arg0) { String result = arg0.result; Log.i("result", "==result===" + result); Gson gson = new Gson(); One one = gson.fromJson(result, One.class); Log.i("one", "==one===" + one); Two two = one.getResult(); List<Three> list = two.getList(); for (int i = 0; i < list.size(); i++) { String title = list.get(i).getTitle(); String source = list.get(i).getSource(); Log.i("title", "==title===" + title); Log.i("source", "==source===" + source); } } }); } }
完毕。
相关文章推荐
- 使用Gson解析复杂的json数据
- Android中使用Gson解析JSON数据
- Android中使用Gson解析JSON数据
- Android中使用Gson解析JSON数据
- Android中Json数据解析(二)--使用Gson、Jackson和FastJson解析Json数据
- 使用Gson解析复杂的json数据
- 以淘宝详情页面Json为例使用Gson的JsonReader解析复杂Json数据详解
- Android中使用Gson解析JSON数据的两种方法
- Android中使用Gson解析JSON数据的两种方法
- 使用GSON 解析JSON 数据
- json 的解析-使用Android中的JSONObject和JSONArray解析json数据,gson中的JsonReader解析json数据
- Android中使用Gson解析JSON数据
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- android中使用Gson解析普通json数据(致我的第一篇博文)
- Android中使用Gson解析JSON数据
- android_使用Gson解析json数据
- Android中Json数据解析(二)--使用Gson、Jackson和FastJson解析Json数据
- Android中使用Gson解析JSON数据的两种方法
- 在Android中可以使用Gson解析JSON数据
- 使用Gson解析json数据