C++ wxJSONOBJECTARRAY-访问所需的键值对

C++ wxJSONOBJECTARRAY-访问所需的键值对,c++,json,wxwidgets,C++,Json,Wxwidgets,在wxJSON的帮助下,我刚刚开始使用JSON对象。当我尝试使用下面给出的单个JSON对象示例时,它工作得很好 { "wxWidgets" : 1 { "Version" :1 { "Major" : 2, }, "Languages" : [ "C++", "Python", "Perl", "C#/Net" ] } } 但是,当JSON对象

在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数组,我该怎么做?

因为您使用的是数组

根[\u TwxWidgets][\u TVersion]

在本例中,不遵从JSON对象中数组索引0的第一个对象。代码需要反映您现在正在使用数组,因此:

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

我以前没有使用过wxwidgets,但是如果它与其他JSON库类似,那么首先必须引用数组中最有可能的对象0,因为它是c,然后说root[\u TwxWidgets][\u TVersion]。所以root[0][[u TwxWidgets][[u TVersion]嘿,谢谢。我不知道为什么我不喜欢这样一件简单的事情。。它起作用了:不客气,我要补充一个答案,因为我是对的。