gpt4 book ai didi

java - 在 Java 中解析格式错误的 json

转载 作者:行者123 更新时间:2023-12-04 19:23:53 26 4
gpt4 key购买 nike

我有一个格式错误的 JSON 字符串需要解析。JSON 字符串的键不包含在双引号中,字符串值包含在单引号而不是双引号中。

例子:

{ items: [
{ id: 1, name: 'test1' },
{ id: 2, name: 'test2' }
] }

解析此 JSON 字符串的更好方法是什么?

1) 编写自定义解析器(如何?)

2) 尝试通过执行几个 string_replace 来修复 JSON 字符串

需要注意的一点是,JSON 字符串很长(大约 50kb)并且包含很多条目。

最佳答案

Yaml 是(几乎)JSon 的 super 集,并且更加宽容。它更接近您的默认设置。

String s = "{ items: [\n" +
" { id: 1, name: 'test1' }, \n" +
" { id: 2, name: 'test2' }\n" +
"] }";
Map map = (Map) new Yaml().load(s);
System.out.println(map);

打印

{items=[{id=1, name=test1}, {id=2, name=test2}]}

顺便说一句,这就是它默认转储到 Yaml 的方式。

System.out.println(new Yaml().dump(map));

打印

items:
- {id: 1, name: test1}
- {id: 2, name: test2}

我用了snakeyaml .您还可以将数据绑定(bind)到类

关于java - 在 Java 中解析格式错误的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23520979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com