Android解析json

复杂的多层嵌套的json数据用gson解析,结构明显易用,但是对于简单的数据,我觉得org.json就够了,比如一层结构的{“resultcode”:”200”,”reason”:”Return Successd!”}和两层{“result”:{“area”:”江苏省苏州市”, “location”:”电信”}这种简单的结构,一层结构和复杂结构的解析方法网上很多,但是我找了很久都没有找到这种两层{}结构的怎么解析,在java中用net.sf.JSONObject就可以了,但是我不知道为什么在Android中不能用这个包,终于自己尝试了出来,代码如下:
这是要解析的json数据:

{
   "resultcode":"200",
   "reason":"Return Successd!",
   "result":{
      "area":"江苏省苏州市",
      "location":"电信"
   }
}

对应的解析代码

/**
*jsonstr是我从服务器拿回来的json数据,就是上面的那段数据
**/
try {
      JSONObject object = new JSONObject(jsonstr);
      String picker = object.getString("result");
      JSONObject res = new JSONObject(picker);
      String area =res.getString("area");
      String location = res.getString("location");
      result.setText("AREA: "+area+ "\nLOCATION: "+ location);
      } catch (JSONException e) {
           e.printStackTrace();
                                 }

查阅了jsonobject的api文档后发现了这个:
public JSONObject(String string)throws JSONException

Construct a JSONObject from a source JSON text string.

This is the most commonly used JSONObject constructor.
对于在这个问题苦苦纠结很久的我如获至宝啊!也就是说,我们可以直接从一个json结构的字符串创建一个jsonobject对象,那么它怎么拿到嵌套在里面的那个json数据呢?就好像JSONObject.fromObject()一样,那么我用getString()方法,拿到result这个key,所对应的的value,不就是拿到内层的json数据了吗?我把value的值再给一个字符串,再用上面的方法创建一个新的JSONObject,这样就拿到了内层json数据的东西了!事实证明还是要多看API的!
@limengwe 多谢大哥这两天对我的帮助!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值