java解析json字符串,当key不存在时的异常处理
最近用JSON来解析字符串,遇到了点问题,请大侠们帮忙看下:
下面是把一个json字符串解析,并把解析出来的值放入对象中。json字符串里面的key最多的时候有100多个,
但并不是每次返回的json字符串里这100多个key都有包括。当json字符串不完全包含着100多个key的时候,我下面的这个方法解析就会出现异常。有这样一个方法可以解决,就是获取每一个key的时候,都分别加上一个try...catch,但100多个key就要加100多个try,有没有更好的方法来解决这个问题。
public static void jiexiTradeBean(String jsonstr)
{
tbBean tb=new tbBean();
JSONObject jo=JSONObject.fromObject(jsonstr);
JSONObject joo=jo.getJSONObject("trade_fullinfo_get_response");
JSONObject trade=joo.getJSONObject("trade");
try{
tb.setAdjust_fee(trade.getString("adjust_fee"));//解析赋值,当json字符串中不包含adjust_fee这个key的时候,就要用try来处理 catch(Exception e)
{}
try{
tb.setAlipay_id(trade.getString("alipay_id")); }catch(Exception e)
{}
..................中间用同样的方法解析107个就要用107个try{}catch()
tb.insert();
}
------解决方案--------------------获得trade的key集合,set的时候判断下该key有没有在集合中
------解决方案--------------------补充下,如果你用的是org.json.JSONObject,那么它本身就有一个has("key")的方法来判断该key有没有存在
------解决方案--------------------if (trade.containsKey(“adjust_fee”)){
.......
}
------解决方案--------------------各位大师,谁有 js 处理这个问题的办法?
------解决方案--------------------又到老帖子了。
------解决方案--------------------这是要挖坟暧昧
------解决方案--------------------额额额。。。。。围观
------解决方案--------------------直接写一个Bean,然后toBean不就好了。。。