wxJSONOBJECTARRAY -访问所需的键值对

wxJSONOBJECTARRAY - accessing the required key value pair

本文关键字:键值对 访问 wxJSONOBJECTARRAY      更新时间:2023-10-16

我刚刚开始在wxJSON的帮助下处理JSON对象。当我尝试处理单个JSON对象(示例如下)时,它工作得很好。

 {
   "wxWidgets" : 1
   {
     "Version" :1
     {
       "Major" : 2,
     },
     "Languages" :
     [
       "C++",
       "Python",
       "Perl",
       "C#/Net"
     ]
   }
 }

但是,当JSON对象中有一个值数组时,我无法解析JSON对象并提取所需的键值对。

的例子:

 [   {
       "wxWidgets" : 1
       {
         "Version" :1
         {
           "Major" : 2,
         },
         "Languages" :
         [
           "C++",
           "Python",
           "Perl",
           "C#/Net"
         ]
       }
     }
     {
       "wxWidgets" : 2
       {
         "Version" :2
         {
           "Major" : 3
         },
         "Languages" :
         [
           "java",
           "j2ee",
           "j2me"
         ]
       }
     }
]

是单个对象时,我这样访问元素:

wxJSONValue root; //this will have the json object created above.
wxString c = root[_T("wxWidgets")][_T("Version")].AsString(); // to get the version.

如果第二个例子中有一个JSONOBJECT s数组,我该怎么做?

由于您使用的是数组,

root[_T("wxWidgets")][_T("Version")]

不区分JSON对象中数组的第一个对象(在这种情况下索引为0)。代码需要反映您现在正在使用数组,因此:

root[0][_T("wxWidgets")][_T("Version")]