读取json接口怎么处理不同的返回结构

silencexiaolei 发布于 2015/01/28 13:38
阅读 968
收藏 0

读取json接口怎么处理不同的返回结构 


成功:{
  "item_get_response": {
    "item": {
      "num_iid": 2100530868790,
      "title": "沙箱测试玛莎家居 现代简约 CD架 RHM251-6045"
    }
  }
}


失败:{
  "error_response": {
    "code": 29,
    "msg": "Invalid app Key",
    "sub_code": "isv.appkey-not-exists"
  }
}

加载中
0
铂金浪子
铂金浪子
json接口提供方应该有相应事例吧?
铂金浪子
铂金浪子
回复 @silencexiaolei : 小弟不才,只想到了if else 的处理方式。
silencexiaolei
silencexiaolei
只有文档 ,文档里面,返回就是:成功一种结构失败一种结构
0
rabbitgg
rabbitgg
先简单的判断返回的json数据里是否有error_response
0
sxgkwei
sxgkwei

如果是js,那么:

if(json.item_get_response){

//按成功处理即可。

}else{

//处理失败

}

如果是java,那么json.get( "item_get_response"),try这个语句,如果异常了,就说明没有这个玩意儿,就当返回失败处理,没异常了,就当成功处理。

java中也许你用的json工具包和我的不一样,所以,不可确定是不是没有会抛异常,不过你可以写一个错误的字符串,然后转换成json对象,然后get一下正确的这个标识去试试看嘛。

0
inmyfree
inmyfree

有两种方法,一种是通过getName的值来判断,一种就是如3楼的try catch来判断。ps:

这个接口写的不好,最好还是统一一下,如

{

     status: 0,1{0,表示失败,1表示成功},

    data:{...}

}

MyronLee
MyronLee
也不能说写得不好,可能失败是一个单独的过滤器返回来的结果。
inmyfree
inmyfree
参考: http://stackoverflow.com/questions/9151619/java-iterate-over-jsonobject/10593838#10593838
返回顶部
顶部