gpt4 book ai didi

android - 如何在 android 中解析这个嵌套的 JSON 数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:08:15 24 4
gpt4 key购买 nike

我必须将下面嵌套的 Json 数组的数据解析到我的应用程序中。我很困惑如何从中获取值(value)。

  {
"prodCat_list": [
{
"prods": [
{
"cat_id": "9",
"position": "1",
"sku": "wwww345"

},
{
"cat_id": "9",
"position": "2",
"sku": "coof23"

},
{
"cat_id": "9",
"position": "3",
"sku": "dde45"

},
{
"cat_id": "9",
"position": "4",
"sku": "5555"

}
]
},
{
"prods": [
{
"cat_id": "9",
"position": "1",
"sku": "wwww345"

},
{
"cat_id": "9",
"position": "2",
"sku": "coof23"

},
{
"cat_id": "9",
"position": "3",
"sku": "dde45"

},
{
"cat_id": "9",
"position": "4",
"sku": "5555"

}
]
},
]
}

谁能指导我如何从中获取内部值。

我试过了

JSONParser parser = new JSONParser();
JSONObject items = parser.getJSONFromUrl(productInfoUrl);
try {
JSONArray itemsDetails = items.getJSONArray("prodCat_list");
if(itemsDetails.length()>0){

for (int i = 0; i < itemsDetails.length(); i++) {
JSONArray productWithCategories = itemsDetails.getJSONArray(i);
JSONObject object = productWithCategories.getJSONObject(i);

Product productInfo = new Product( object.getString("sku"), object.getInt("cat_id"), object.getInt("position"));
ProductDbHandler productDbHandler = new ProductDbHandler(context);
productDbHandler.addProducts(productInfo);
}
}
else
System.out.println("No product to add");
} catch (JSONException e) {
e.printStackTrace();
}
}

最佳答案

我认为您的 JSON 解析器应该是这样的(可能会有一些拼写错误,我没有在编辑器上测试这段代码 :)):

JSONObject mainObj = new JSONOBject(myString);
if(mainObj != null){
JSONArray list = mainObj.getJSONArray("prodCat_list");
if(list != null){
for(int i = 0; i < list.length();i++){
JSONObject elem = list.getJSONObject(i);
if(elem != null){
JSONArray prods = elem.getJSONArray("prods");
if(prods != null){
for(int j = 0; j < prods.length();j++){
JSONObject innerElem = prods.getJSONObject(j);
if(innerElem != null){
int cat_id = innerELem.getInt("cat_id");
int pos = innerElem.getInt("position");
String sku = innerElem.getString("sku");
}
}
}
}
}
}
}

关于android - 如何在 android 中解析这个嵌套的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17673057/

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