Java 如何在JSONObject/数组查找中查找值
以下是JSON提要:Java 如何在JSONObject/数组查找中查找值,java,android,json,jsonobject,Java,Android,Json,Jsonobject,以下是JSON提要: { "list" : { "meta" : { "type" : "resource-list", "start" : 0, "count" : 2 }, "resources" : [ { "resource" : { "classname" : "Quote", "fields" : { "name" : "USD/KRW", "price" : "1151.295044", "symbol" : "KRW=X", "ts" : "1437357550
{
"list" : {
"meta" : {
"type" : "resource-list",
"start" : 0,
"count" : 2
},
"resources" : [
{
"resource" : {
"classname" : "Quote",
"fields" : {
"name" : "USD/KRW",
"price" : "1151.295044",
"symbol" : "KRW=X",
"ts" : "1437357550",
"type" : "currency",
"utctime" : "2015-07-20T01:59:10+0000",
"volume" : "0"
}
}
}
,
{
"resource" : {
"classname" : "Quote",
"fields" : {
"name" : "SILVER 1 OZ 999 NY",
"price" : "0.067476",
"symbol" : "XAG=X",
"ts" : "1437169614",
"type" : "currency",
"utctime" : "2015-07-17T21:46:54+0000",
"volume" : "62"
}
}
}
,
{
"resource" : {
"classname" : "Quote",
"fields" : {
"name" : "USD/VND",
"price" : "21815.500000",
"symbol" : "VND=X",
"ts" : "1437357540",
"type" : "currency",
"utctime" : "2015-07-20T01:59:00+0000",
"volume" : "0"
}
}
}
]
}
}
例如,如何查找符号为(“symbol”:“XAG=X”)的JSON对象的“价格”。在这种情况下,答案是(“价格”:“0.067476”)。我需要以编程的方式执行这个查找,因为JSON比这里显示的要大,并且给我的唯一参数是“symbol”
这可能吗?任何关于如何做到这一点的详细帮助都将不胜感激 假设内容代表json字符串
import org.json.JSONArray;
import org.json.JSONObject;
JSONObject list = new JSONObject(content).getJSONObject("list");
JSONArray resources = list.getJSONArray("resources");
for (int j = 0; j < resources.length(); j++) {
JSONObject resource = resources.getJSONObject(j).getJSONObject("resource");
JSONObject fields = resource.getJSONObject("fields");
System.out.println(fields.get("symbol"));
System.out.println(fields.get("price"));
}
import org.json.JSONArray;
导入org.json.JSONObject;
JSONObject list=新的JSONObject(content.getJSONObject(“list”);
JSONArray resources=list.getJSONArray(“资源”);
for(int j=0;j
这是您的Json对象格式
尝试此操作以获得正确的结果-
JSONObject list = new JSONObject(content).getJSONObject("list");
JSONArray resources = list.getJSONArray("resources");
for (int j = 0; j < resources.length(); j++) {
JSONObject resource = resources.getJSONObject(j).getJSONObject("resource");
JSONObject fields = resource.getJSONObject("fields");
if(fields.getString("symbol").equals("XAG=X")){
System.out.println("Price of symbol(XAG=X) is"+ fields.getString("price"));
}
}
JSONObject list=新的JSONObject(content.getJSONObject(“list”);
JSONArray resources=list.getJSONArray(“资源”);
for(int j=0;j
使用Gson或Jackson解析器怎么样?我认为您应该了解这一点。@TusharPatil,您能否指导如何获取您发布的json格式,因为它对长json消息很有帮助?