wxJSONOBJECTARRAY - 访问所需的键值对

时间:2013-03-19 06:03:54

标签: c++ json wxwidgets

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

1 个答案:

答案 0 :(得分:0)

由于您正在使用数组,

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

不遵循JSON对象中数组的第一个对象(本例中为索引0)。代码需要反映您现在正在使用数组,所以:

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