cjson 可以解析尾随逗号,jsoncpp 不可以,parse()只返回第一个元素,蛋疼
1
vk42 2020-07-18 10:27:09 +08:00 2
标准明确规定不允许 trailing comma,所以不是逗号坑的你,是写了逗号的人坑的你
|
2
ysc3839 2020-07-18 10:31:52 +08:00 via Android
没记错的话 jsoncpp 是可以配置接受这种格式的,甚至还能解析注释,是解析注释而不是忽略注释,可以保留注释重新生成 JSON 。
|
3
zhongrs232 OP 主要是一个项目里同时用到了 cjson 和 jsoncpp,然后就被搞糊涂了
|
4
opengps 2020-07-18 10:57:20 +08:00
cjson 的过度善意让你误解了 json
|
5
Vegetable 2020-07-18 11:06:39 +08:00
比较严肃的库一半不会允许,但是有一些库会考虑这些事情,vscode 他们还专门弄了 JSON with comment,用其他库解析 vscode 的配置文件就被坑过,最后只能换成微软自己的 https://github.com/microsoft/node-jsonc-parser
|
6
xwhxbg 2020-07-18 11:58:26 +08:00
cjson 不是标准 json 吧
|
7
Jirajine 2020-07-18 12:43:39 +08:00 via Android 1
json 只当数据交换格式(或者 protobuf ),绝对不要用作配置文件或其他可能需要手写的场景,不能注释、不能 trailing comma 太过恶心,需要手写的场景一律改用 yaml
|
8
lovecy 2020-07-18 17:05:52 +08:00
WEB 开发日常了
|
9
Umenezumi 2020-07-18 17:46:21 +08:00
用 JSON 就一定要按照标准来
|
10
youxiachai 2020-07-18 21:17:54 +08:00
这就是没读标准文档,猛干的典范。。
|