1
gadfly3173 2023-08-18 10:18:39 +08:00 via Android
简单搜索了一下,如果你要的是解析错误的话好像这个 pr 已经解决了: https://github.com/Tencent/rapidjson/pull/1070 ,如果是风格检查的话,获取解析前的行号好像做不到,但是你可以换成展示错误所在的节点?比如返回 obj[0].content 之类的
|
2
jonty OP @gadfly3173 #1 你好,可能我没表达清楚我的意思。我说的检查工具其实是 json 已经成功反序列化后成对象了,我对对象进行的风格和逻辑检查。
|
3
hitmanx 2023-08-18 10:30:06 +08:00
用 C++遍历每一行去 tokenize JSON 文件,记录当前的行号。tokenize 过程中把每一个 token(string, number, {, }, [, ], ..)的行号和 token 一起记录下来。然后和往常一样 parse tokens ,但是把行号信息一起取出存在节点里。这样每个节点就有了行号信息
|