{
"status": 1,
"msg": "",
"model": "[
{\"materialName\":\"粉煤灰\",\"supplierName\":\"龙岩市双 明贸易有限公司\",\"belongCorpName\":\"蕉岭县恒塔混凝土有限公司\",\"ReceQuantity\":35.000000,\"orderCode\":\"JHCGDD20170524001\",\"placeName\":\"\",\"supplierCode\":\"6\",\"materialSstd\":\"\",\"placeId\":0,\"materialCode\":\"HB0400001\",\"orderQuantity\":3000000.000000,\"orderId\":1495609606 }]"
}
如上所示,假如服务器返回这样带转义字符的的数据,我们用Gson等解析工具解析是会报错的,那该如何解析??String.replace????no,我偶然发现一种更好用的方法,废话不多说,直接上代码
try {
JSONObject object = new JSONObject(result);
String s = (String) object.get("model");// 这一步JSONObject会帮我们去除“/”,s就是标准的json了
L.show("s==" + s);
JSONArray array = new JSONArray(s);
for (int i = 0; i < array.length(); i++) {
JSONObject o = (JSONObject) array.get(i);
String materialName = o.getString("materialName");
L.show("materialNmae==" + materialName);
}
} catch (JSONException e) {
e.printStackTrace();
}
当然,这样的json数据我们一般遇不到,如果真遇到,和后台沟通,后台还是会处理的。但是我们多了解了解一点不是更好吗