1

我正在寻找那个,但找到了关于 java.lang. 的答案。

很长一段时间以来,我都以数组的形式接收 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
}

但它崩溃了!

你能帮忙吗?

4

1 回答 1

0

如果我从您最初的问题和评论中得到正确的答案,那么您希望将 JSon 树中的元素(如果它是一个简单对象)转换为包含该对象的数组。我也不熟悉那个库,但对我来说它会是这样的。

Value & v = parseJSon["intervention"];
if(v.isObject()) {
 Value vcopy = v;
 v.clear();
 v.append(vcopy);
}

只是基于 API 文档的幻想代码。

于 2015-06-05T21:50:26.087 回答