gpt4 book ai didi

java - 使用Java从JSONArray获取元素和属性

转载 作者:行者123 更新时间:2023-12-01 12:29:07 30 4
gpt4 key购买 nike

我有以下 JSONArray:

[
{
"test":{
"page":"Apple",
"ms":"234"}
},
{
"check":{
"page":"Apple",
"ms":"234"
}
}
]

这里说“test”和“check”是父元素,这样的元素会有很多。所以我必须循环遍历它们中的每一个,并且必须获取其子元素(如果它与名称匹配)。我对 JSON 很陌生,所以不知道它是如何工作的。下面是简单的算法,它应该如何工作。

Loop through each elements:
switch(parent_name){
case "test":
get child information like:
if(attribute == "page"){
get text which is "Apple"
}
break;
default:
break;
}

它应该是这样工作的。我在 XML 中尝试过。但不是 JSON。下面是xml代码:

Element docEle = doc.getDocumentElement();
NodeList nl = docEle.getChildNodes();

if (nl != null && nl.getLength() > 0) {
for (int i = 0; i < nl.getLength(); i++) {
if (nl.item(i).getNodeType() == Node.ELEMENT_NODE) {
Element ele = (Element) nl.item(i);
switch(ele.getNodeName()){
case "Click":
ele.getAttributes().getNamedItem("object").getNodeValue();
break;
case "Open":
ele.getAttributes().getNamedItem("page").getNodeValue();
break;
case "CheckElementPresent":
ele.getAttributes().getNamedItem("object").getNodeValue();
break;
default:
break;
}
}
}
}

最佳答案

您可以将其用作:

JSONArray jsonArray = 数据;//此处的数据是您从任何来源获取的 JSON 数组

您需要添加 JSONException因为当我们从 JSONArray` 获取JSONObject时,它可能会抛出错误。



然后迭代它:



for( int i = 0 ; i < jsonArray.length() ; i++ ){
try {
JSONObject object = jsonArray.getJSONObject(i);
if( ! object.isNull("test") ){
JSONObject j = object.getJSONObject("test");
System.out.println(j.getString("page"));
System.out.println(j.getString("ms"));
}
if( ! object.isNull("check") ){
JSONObject j = object.getJSONObject("check");
System.out.println(j.getString("page"));
System.out.println(j.getString("ms"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}

仍然有问题,然后发邮件给我。

关于java - 使用Java从JSONArray获取元素和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26093211/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com