解决解析字符串数组多层引号问题
问题描述:
开发过程中遇到解析JSON的时候解析出来的字符串数组带有双层引号,导致数据不匹配,例如下面JSON list数组的第一个元素 "232ed6e1878e456cb990d496c282badd"
,解析出来为""232ed6e1878e456cb990d496c282badd""
。
待解析的JSON参数:
{
"list": [
"232ed6e1878e456cb990d496c282badd",
"8a082bca79304ce78330c492370f8974",
"d3860bb1da284d96a34550ebbff1fe81",
"c4f3a4878c8a45abb333b9f8577eeca7"
]
}
解决方法
利用 fastjson JSONArray.getString()
方法解决,解析出来就是正常的想要的字符串了。
// 解析JSON参数jsonParams
JSONObject jsonObject = JSON.parseObject(jsonParams);
// 从JSONObject获取JSONArray类型的元素
JSONArray array = jsonObject.getJSONArray("list");
// 获取数组中下标 i +1的字符串
String inboxId = array.getString(i);