场景
fastjson.JSONException:field null expect '[', but string, pos 4, line 1......
使用json把一个实体类列表转字符串, 输出后双引号被转义, json内容如下, 转回对象的时候报了JSONException
"[{\"pCode\":\"1\",\"pValue\":\"大专\",\"code\":\"01\",\"value\":\"大大\"},{\"pCode\":\"2\",\"pValue\":\"本科\",\"code\":\"\",\"value\":\"\"}]"


方案
哪有啥方案, 双引号里再套双引号肯定会被转义, 去掉转义符就好了
// 去掉转义符
String unescapeJava = StringEscapeUtils.unescapeJava(jsonValue);
String format = "\"[{";
// 这个是为了去掉两边的引号
if (unescapeJava.contains(format)) {
unescapeJava = unescapeJava.substring(INT_1, unescapeJava.length() - INT_1);
}
// JSONArray.parseArray(unescapeJava, Entity.class)扩展
实体类转fastjson的属性排序
importcom.alibaba.fastjson.annotation.JSONField;
属性上加 @JSONField注解
@JSONField(ordinal = 1)
版权声明:本文为qq_44695727原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。