【发布时间】:2015-06-06 05:50:26
【问题描述】:
我一直在寻找,但找到了有关 java 的答案。
很长一段时间以来,我都以数组形式接收 JSON 响应,即使我只有一个响应。 示例:
{"intervention":
[
{
"id":"3",
"subject":"dddd",
"details":"dddd",
"beginDate":"2012-03-08T00:00:00+01:00",
"endDate":"2012-03-18T00:00:00+01:00",
"campus":
{
"id":"2",
"name":"paris"
}
}
]
}
现在我可以将它作为数组或对象接收。意味着这些[ , ] 不再出现。
正如您可能猜到的那样,当我将它用作数组时,我的代码会崩溃..
我想做这样的事情:
if (parsedJson["intervention"] == jsonObject])
covertObjectToArray
我试过(伪):
std::string tmp = parsedJson["intervention"].asString()
if (firstChar is "{")
{
concat : "[ + tmp + ] ";
parseStringBackToJSon
}
但它崩溃了!
你能帮忙吗?
【问题讨论】:
-
你使用自己的解析还是 boost::property_tree::json_parser::* ?
-
我暂时没有使用 boost。但我正在使用 json 解析器(json reader - 将字符串转换为 json)
-
所以你正在编写自己的解析器?
-
哦不,它是一个 json 标准库。我希望我没有误会jsoncpp.sourceforge.net/class_json_1_1_value.html
-
我不熟悉那个库,但它似乎提供了
isArray和isObject函数。您可以探索这些。
标签: c++ arrays json jsonobject json-api