0

我有一个这样的嵌套 Json:

   string strJson = "{
  "Header":

    {"Version":"V0.00.01","ID":"1000","Name":"SetEnvValues"}


  ,
  "Data":

    {"Temp":0.00,"rH":0.00,"CO2":0.00,"O2":0.00 }



}";

现在我想测试是否存在元素“rH”。例如,如果我在 Data Objekt 中只有一个值“Temp”,我如何测试哪些值存在?如果没有异常处理,这可能吗?

{
"Header":

{"Version":"V0.00.01","ID":"1000","Name":"SetEnvValues"}


,
"Data":

{"Temp":0.00 }



}

我用count尝试过,但似乎这不适用于嵌套对象:

jsonReceivedEnvValues = json::parse(strJson);
int count = jsonReceivedEnvValues["Data"].count("Bla");

我认为这总是返回一个,因为它只测试“数据”对象,而不是更深的嵌套对象。

4

1 回答 1

3

可以用jsonReceivedEnvValues["Data"].count("Bla"). 确保您不会意外创建您正在寻找的对象;例如,在["Data"]jsonReceivedEnvValues["Data"]["Bla"].is_null();中创建一个对象["Bla" ]

于 2018-04-16T11:35:41.280 回答