【发布时间】:2016-10-08 02:33:47
【问题描述】:
我已经成功使用 Casablanca Json C++ 库 (cpprest) 有一段时间了。它的解析器 (web::json::value::parse(<json_string>)) 可以完美地处理 valid JSON 字符串。说这将被正确解析:
{
"key1": [["1", 0.4], ["0", 0.6]],
"key2": true,
"key3": 1,
"key4": [{"key41": 1}, {"key42": [1,2,3]}]
}
现在,我面临解析 JSON 对象的必要性,其键没有用双引号括起来:
{
key1: [[1, 0.4], [0, 0.6]],
key2: true,
key3: 1,
key4: [{key41: 1}, {key42: [1,2,3]}]
}
有没有一种很好的方法来正确解析这个然后序列化成一个有效的 JSON,这样 Casablanca 就可以正确解析得到的有效 JSON?
Hjson 似乎可以用于此目的,但它不提供 C++ 所需的库。他们提到了 C 的 jzon 库——我试过了:它只有单向解析(没有序列化),甚至解析也不能正常工作(甚至无法解析有效的 JSON)
【问题讨论】:
-
所以您要的是能够做到这一点的第 3 方资源,但您知道这类问题是题外话吗?
-
@πάνταῥεῖ 他是否要求将“”转换为无?这就是我的理解。好的,我要开始回答了
-
您是否有机会控制产生这种情况的任何东西?这样你就可以让它生成有效的 JSON?
-
@πάνταῥεῖ 不,我没有说过这个..任何好的 c++ 预处理解析解决方案也可以正常工作。但如果有人知道第三方库,为什么不呢?
-
@littlepootis 不,如果我愿意的话——我一开始就不会遇到这个问题
标签: c++ json casablanca