我有这个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": "%"
}
]
Run Code Online (Sandbox Code Playgroud)
}
我想知道如何使用Java将名称/值对提取到字符串中。我想得到最终结果:
String name = "Jogurt"
String description = "kajmak"
etc...
Run Code Online (Sandbox Code Playgroud)
我尝试使用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";
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个例外,说当明确存在时,JSONObject中没有元素“名称”。有什么建议么?
编辑:getItembyID方法返回上面以字符串形式编写的JSON代码。JSON代码已通过验证
{-> JSONObject
[-> JSONArray
您需要在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";
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13690 次 |
| 最近记录: |