转义JSON对象中的符号



我有这个JSON对象

{'zone1': [{'detected_people': {'coordinates': [[21, 0], [16, 4], [23, 4], [21, 6], [16, 21]]}, 'gridOrigin': [28.5, 20.6], 'gridScale': 0.5, 'gridSizeX': 50, 'gridSizeY': 50, 'stamp': '2020-08-28 21:06:48', 'zoneID': 'shop1'}]}

我无法提交到Web服务数据库。我的服务器端建议我去escape the symbols

我使用jsoncpp创建JSON对象,如下所示。

struct JSON_PEOPLE{
//Json::Value root;
Json::Value zone_1;   
Json::Value zone_2;
Json::Value zone1;   
Json::Value zone2;
Json::Value coord;
Json::Value gridOrigin;

JSON_PEOPLE(){
zone1["zoneID"] = "shop1";
zone1["stamp"] = "##########";
zone1["gridSizeX"]=50;
zone1["gridSizeY"]=50;
zone1["gridScale"]=0.5;
zone1["gridOrigin"].append(28.5);
zone1["gridOrigin"].append(20.6);

zone2["zoneID"] = "shop2";
zone2["stamp"] = "##############";
zone2["gridSizeX"]=50;
zone2["gridSizeY"]=50;
zone2["gridScale"]=0.5;
zone2["gridOrigin"].append(35.5);
zone2["gridOrigin"].append(40.6);
}
}

如何逃离符号?

我有正确的JSON字符串。

{
"zone1" : 
[
{
"detected_people" : 
{
"coordinates" : 
[
[
22,
3
],
[
21,
6
],
[
16,
21
]
]
},
"gridOrigin" : 
[
28.5,
20.600000000000001
],
"gridScale" : 0.5,
"gridSizeX" : 50,
"gridSizeY" : 50,
"stamp" : "2020-08-28 22:23:05",
"zoneID" : "shop1"
}
]
}

当转换为JSON对象时,我必须执行json_obj = json.dumps(json.loads(info))。所以我有正确的双引号。

最新更新