首页 > 解决方案 > CJson - 在字符串周围插入缺少的引号

问题描述

我有一个下面给出的格式的文本文件(这只是示例文件,但实际上文件是带有键值的大文件)。键的某些值将在文件中具有格式(在下面的文件中查找端口键的值)。这是我的输入文件。

我正在使用 C++ 中的 CJson 库将此文件转换为 Json。由于与端口键对应的值不是有效的字符串或值,因此 CJson 会给出错误消息“在字符串周围插入缺失的引号”。所以我尝试使用下面的代码将端口值转换为字符串。但我无法插入缺少的引号。您能否帮助我如何“在字符串周围插入缺少的引号”。

我试过的代码:

ifstream infile { "conf_file.conf" };
string file_contents{ istreambuf_iterator<char>(infile), istreambuf_iterator<char>() };
pParentJson = cJSON_Parse( (char*)file_contents.c_str() );
cJSON* pJsonObj = cJSON_GetObjectItem(pParentJson,"port");
char* pDataBuffer = cJSON_Print(pJsonObj);
cout<<pDataBuffer<<endl;

文本文件

{
"port": <CbTcpPortVariable>
"IP" : "127.0.0.1"
"Message": "Hello"
}

标签: c++jsoncjson

解决方案


推荐阅读