gpt4 book ai didi

java - 如何从 JSONobject 获取数据并将其显示到 ListView 中?

转载 作者:行者123 更新时间:2023-11-29 20:26:16 28 4
gpt4 key购买 nike

这是我的JSON

{
"data": [
{
"id": 1,
"Name": "Choc Cake",
"Image": "1.jpg",
"Category": "Meal",
"Method": "",
"Ingredients": [
{
"name": "1 Cup Ice"
},
{
"name": "1 Bag Beans"
}
]
},
{
"id": 2,
"Name": "Ice Cake",
"Image": "dfdsfdsfsdfdfdsf.jpg",
"Category": "Meal",
"Method": "",
"Ingredients": [
{
"name": "1 Cup Ice"
}
]
}
]
}

现在我试图将它显示到 listView 中,我该怎么做,这就是我现在所拥有的(出于测试目的,我只是想在 toast 中显示所有名称)

JSONObject jsonObj = new JSONObject(jsonStr);
int length = jsonObj .length();

for(int i=0; i<length; i++) {
Toast.makeText(this, jsonObj.getJSONArray("data").
getJSONObject(i).getString("Name"), Toast.LENGTH_LONG).show();
}

以上代码只显示一个名字,不显示多个名字。如何为多个名称创建它?

最佳答案

看看这段代码

//getting whole json string
JSONObject jsonObj = new JSONObject(jsonStr);

//extracting data array from json string
JSONArray ja_data = jsonObj.getJSONArray("data");
int length = jsonObj .length();

//loop to get all json objects from data json array
for(int i=0; i<length; i++)
{
JSONObject jObj = ja_data.getJSONObject(i);
Toast.makeText(this, jObj.getString("Name").toString(), Toast.LENGTH_LONG).show();

// getting inner array Ingredients
JSONArray ja = jObj.getJSONArray("Ingredients");
int len = ja.length();

// getting json objects from Ingredients json array
for(int j=0; j<len; j++)
{
JSONObject json = ja.getJSONObject(j);
Toast.makeText(this, json.getString("name").toString(), Toast.LENGTH_LONG).show();
}
}

我建议使用“Log”而不是“Toast”。

如果有任何困惑或疑问让我知道,我会尽力解决。如果答案令人满意,请将其标记为正确答案。

编码愉快!谢谢

关于java - 如何从 JSONobject 获取数据并将其显示到 ListView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32496565/

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