使用boost删除特定json变量的引号

时间:2015-07-12 18:44:35

标签: c++ regex json boost replace

我正在使用boost :: property_tree来处理,编辑,然后重新输出一个非常大的json文件(该文件来自模拟器并包含数千个键值对)。读取json并进行适当的修改可以正常工作,但是boost property_tree的write_json函数将所有值都输出为字符串(如here所述)。

在我的情况下,在我的json字符串中,有大约10个(重复的)键,它们总是有一个数值(其余的键名是字符串)。所以我想知道是否有办法(可能使用boost的正则表达式匹配/替换)来搜索给定的密钥,并删除其值周围的引号。例如 - 如果我有字符串:

... "lots": "of", "key-value": "pairs", "numeric1": "12.3", "numeric2": "45.6", ...

我可能会搜索“numeric1”,然后删除后面的两个引号。对“numeric2”产生重复:

... "lots": "of", "key-value": "pairs", "numeric1": 12.3, "numeric2": 45.6, ...

注意:我可能有几百个“numeric1”键和几百个“numeric2”键需要在整个json字符串中转换为数字。想法?

0 个答案:

没有答案