Java 取复杂json对象(fastjson)
记录一下小菜鸡的学习之路
刚入职做项目,最近写代码的时候,调用之前公司大佬封装好的数据库接口,返回的Json数据很复杂,需要取其中的值。记录一下方便以后遇到解决。
**
正常来说是将json转为对象来进行操作,但由于公司框架限制,很麻烦所以只能直接取来使用。
**
不多BB直接上代码
//json数据
{
"msg":"请求成功",
"Total":"1",
"Rows":[
{
"ispay":"0"
}
],
"Subrows":[
],
"status":"0"
}
//cs 是调用接口以后返回的json数据
String cs = payServlet.doPay("checkmstatus", json);
//通过fastjson中的方法将json字符串转为json对象
JSONObject jscs= JSONObject.parseObject(cs);
//创建json数组来接收jscs中的Rows数组
jsonArray= jscs.getJSONArray("Rows");
//根据下表读取刚刚Rows中的属性,get中为json数组中json对象的名称
String lispay = (String) jsonArray.getJSONObject(0).get("ispay");
//然后得到lispay就可以正常做业务逻辑
...
我要取得数据是在json数组中的json对象,如果只是取json字符串中的对象直接.get(“属性”)就可以取到,多层嵌套就需要get多个属性,同样的道理。