fastjson2
fastjson2 copied to clipboard
[FEATURE]在解析"非完全正确的JSON文本"时,可否先尽可能的尝试解析操作?
请描述您的需求或者改进建议
对您想要需求或建议的清晰简洁的描述。 假设有以下Json Text:
{
"uid": "123456789",
"clientSn": "A0001",
"model": {
"identity": "client",
"dataformat": "HEX",
"uid": "10086",
"protocol": "TCP",
"type":"CMD",
}
}
注意:
type
属性值后的逗号,
并为去除!
我尝试了27种的 JSONReader.Feature.*
后,依旧为报错!
期待
可否对 多余的逗号自动进行去除(或修正. 举例说明,并非仅限于此处情况!) 亦或 给予友好的错误提示
方式(相比较更倾向于前面选择)!
请描述你建议的实现方案
对您想要需求或建议的实现方案的详细描述。
描述您考虑过的替代方案
对您考虑过的任何替代解决方案或功能的描述。
附加信息
如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。 Version: fastjson2-2.0.43 Springboot: 3.2.0 JDK: OpenJDK 21.0.1
@Test
public void test() {
String str = "{\n" +
"\t\"uid\": \"123456789\",\n" +
"\t\"clientSn\": \"A0001\",\n" +
"\t\"model\": {\n" +
"\t\t\"identity\": \"client\",\n" +
"\t\t\"dataformat\": \"HEX\",\n" +
"\t\t\"uid\": \"10086\",\n" +
"\t\t\"protocol\": \"TCP\",\n" +
"\t\t\"type\":\"CMD\",\n" +
"\t}\n" +
"}";
Bean bean = JSON.parseObject(str, Bean.class);
assertEquals("123456789", bean.uid);
assertEquals("A0001", bean.clientSn);
assertEquals("TCP", bean.model.protocol);
assertEquals("CMD", bean.model.type);
}
public static class Bean {
public String uid;
public String clientSn;
public Model model;
}
public static class Model {
public String protocol;
public String type;
}
问题没重现