我有这个 JSON 代码:
{
"success": 1,
"item": [
{
"itemId": "jogurt123",
"name": "Jogurt",
"description": "kajmak",
"pictureUrl": "https://www.google.hr/images/srpr/logo11w.png",
"categoryId": "mlijeko"
}
],
"specs": [
{
"specId": "volumen",
"value": "1",
"unit": "litra"
},
{
"specId": "mast",
"value": "50",
"unit": "%"
}
]
我想知道如何使用 Java 将名称/值对提取到字符串中。 我想得到最终结果:
String name = "Jogurt"
String description = "kajmak"
etc...
我尝试使用 JSONObject 创建一个包含此名称/值对的对象,然后我想提取它们,但在以下代码中
String getParam(String code, String element){
try {
String base = this.getItembyID(code);
JSONObject product = new JSONObject(base);
String param = product.getString("name");
return param;
} catch (JSONException e) {
e.printStackTrace();
return "error";
}
}
我得到一个异常,说 JSONObject 中显然没有元素“名称”。有什么建议吗?
编辑:getItembyID 方法以字符串形式返回上面编写的 JSON 代码。 JSON代码已经过验证
最佳答案
{ ->JSON对象
[-> JSON数组
需要获取Jsonarray中的jsonObject
这样做
String getParam(String code, String element){
try {
String base = this.getItembyID(code);
JSONObject product = new JSONObject(base);
JSONArray jarray = product.getJSONArray("item");
String param = jarray.getJSONObject(0).getString("name");
return param;
} catch (JSONException e) {
e.printStackTrace();
return "error";
}
}
关于java - 使用 Java 从 JSON 中提取名称/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22004160/