Fastjson报的错,想获取一个JSONArray数组,但是目标却是个字符串
BUG还原现场:
@Test
public void test(){
JSONObject js = new JSONObject();
js.put("phqfwqk","测试");
JSONArray phqfwqk = js.getJSONArray("phqfwqk")==null?new JSONArray():js.getJSONArray("phqfwqk");
System.out.println(phqfwqk);
}
异常结果:
com.alibaba.fastjson.JSONException: syntax error, pos 1, line 1, column 2测试
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1487)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1373)
at com.alibaba.fastjson.JSON.parse(JSON.java:182)
at com.alibaba.fastjson.JSON.parse(JSON.java:192)
at com.alibaba.fastjson.JSON.parse(JSON.java:148)
at com.alibaba.fastjson.JSONObject.getJSONArray(JSONObject.java:155)
at test.testUrl.test(testUrl.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
在测试代码中,尝试使用Fastjson从JSONObject获取JSONArray,但遇到了一个JSONException。错误信息显示在解析过程中遇到了语法错误,具体来说,预期的值应为JSONArray,但实际上解析到的是一个字符串。这可能是因为`phqfwqk`字段在JSON对象中被赋值为一个字符串,而非JSONArray。解决这个问题需要检查JSON数据源,确保字段类型正确。
4048

被折叠的 条评论
为什么被折叠?



