当前位置: 代码迷 >> Java相关 >> 怎么解析长字符串!
  详细解决方案

怎么解析长字符串!

热度:383   发布时间:2016-04-22 21:51:47.0
如何解析长字符串!!!!
我通过httpPost获得一字符串,格式如下:
{
"errorCode":null,
"success":true,
"sign":"50031DA7FB7796A6FB0D6A65653D78C7",
"errorMessage":null,
"requestId":"20130516183049",
"projects":[
{
"chargeAreas":[
       {"areaName":"四川","cities":[{"areaName":"成都","areaId":"4000000357059","companies":[]},
       {"areaName":"北京","cities":[{"areaName":"北京","areaId":"113271345596","companies":[]}],"areaId":"113271345594"}
      ],"areaId":"4000000357058"}],"projectName":"水费","projectId":"1001","projectAlias":"water"
},
{
"chargeAreas":[
       {"areaName":"浙江","cities":[{"areaName":"宁波","areaId":"3601333306670","companies":[{"chargeWaies":[{"fields":[{"fieldName":"billkey","fieldType":"VARCHAR","required":false,"fieldLabel":"用户号码","minLen":5,"maxLen":10}],"wayName":"用户号码","wayId":"3601454127868"}],"companyId":"3601454127867","companyName":"宁波市自来水公司","companyAlias":"ningboshizilaishuigongsi"}]},{"areaName":"杭州","areaId":"360103359926","companies":[]}],"areaId":"360103359925"},
       {"areaName":"北京","cities":[{"areaName":"北京","areaId":"113271345596","companies":[]}],"areaId":"113271345594"}
      ],"projectName":"水费","projectId":"1001","projectAlias":"water"
}
   ]
}

我使用 JSONObject jsonObject1 = JSONObject.fromObject(result); 这种方法解析该字符串,当我获取其中某个字段值(如:
 String retCode1 = (String) jsonObject1.get("errorCode");)时报错:
Exception in thread "main" java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to java.lang.String
该怎么解决这个问题,如何解析这个字符串,能够方便的获取 errorCode、success、errorMessage、projects的值,也能够获取projects中每个 chargeAreas 的值,以及chargeAreas中各字段值。 希望看到的朋友能帮忙指点一下,谢谢哈!

------解决方案--------------------
会不会是null的原因?先判断下null !=  jsonObject1.get("errorCode") 试试呗
------解决方案--------------------
看错误提示就是null的原因,像一楼说的判断为null就行了
  相关解决方案