C++ wxJSONOBJECTARRAY-访问所需的键值对
在wxJSON的帮助下,我刚刚开始使用JSON对象。当我尝试使用下面给出的单个JSON对象示例时,它工作得很好C++ wxJSONOBJECTARRAY-访问所需的键值对,c++,json,wxwidgets,C++,Json,Wxwidgets,在wxJSON的帮助下,我刚刚开始使用JSON对象。当我尝试使用下面给出的单个JSON对象示例时,它工作得很好 { "wxWidgets" : 1 { "Version" :1 { "Major" : 2, }, "Languages" : [ "C++", "Python", "Perl", "C#/Net" ] } } 但是,当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]嘿,谢谢。我不知道为什么我不喜欢这样一件简单的事情。。它起作用了:不客气,我要补充一个答案,因为我是对的。