Java 使用android获取JSON值
如何提取上述数据?我想得到那份工作Java 使用android获取JSON值,java,android,json,Java,Android,Json,如何提取上述数据?我想得到那份工作 名字 个案数目 超链接 描述 地图提示 xy 使用此 {"SrchResults":[{"FeatCount":"53"},{"NAME":"Dengue_Cluster","Number of cases":"10","HYPERLINK":"http://www.dengue.gov.sg/cms/ehd/20131647.jpg ","DESCRIPTION":"Ang Mo Kio Ave 3 (Blk 126, 127, 128) / Ang Mo
- 名字
- 个案数目
- 超链接
- 描述
- 地图提示
- xy
- 使用此
{"SrchResults":[{"FeatCount":"53"},{"NAME":"Dengue_Cluster","Number of cases":"10","HYPERLINK":"http://www.dengue.gov.sg/cms/ehd/20131647.jpg ","DESCRIPTION":"Ang Mo Kio Ave 3 (Blk 126, 127, 128) / Ang Mo Kio Ave 6 (Blk 124, 125)","MAPTIP":"Dengue_Cluster","SYMBOLCOLOR":"#E600A9","XY":"29342.6037999997,39300.7427999992"}{"NAME":"Dengue_Cluster","Number of cases":"11","HYPERLINK":"http://www.dengue.gov.sg/cms/ehd/20131578.jpg ","DESCRIPTION":"Guillemard Rd / Lor 28 Geylang / Lor 30 Geylang","MAPTIP":"Dengue_Cluster","SYMBOLCOLOR":"#E600A9","XY":"33644.5215999996,32574.9587999992"}]}
Java有自己的JSON库,尽管我更喜欢Google GSON,它更面向对象: 托帕尔斯
{ // json object node
"SrchResults": [ // jsona array
{
"FeatCount": "53"
},
{ // json object node
"NAME": "Dengue_Cluster", // string
"Number of cases": "10",
"HYPERLINK": "http://www.dengue.gov.sg/cms/ehd/20131647.jpg ",
"DESCRIPTION": "Ang Mo Kio Ave 3 (Blk 126, 127, 128) / Ang Mo Kio Ave 6 (Blk 124, 125)",
"MAPTIP": "Dengue_Cluster",
"SYMBOLCOLOR": "#E600A9",
"XY": "29342.6037999997,39300.7427999992"
},
{
"NAME": "Dengue_Cluster",
"Number of cases": "11",
"HYPERLINK": "http://www.dengue.gov.sg/cms/ehd/20131578.jpg ",
"DESCRIPTION": "Guillemard Rd / Lor 28 Geylang / Lor 30 Geylang",
"MAPTIP": "Dengue_Cluster",
"SYMBOLCOLOR": "#E600A9",
"XY": "33644.5215999996,32574.9587999992"
}
]
}
您尝试过什么吗?这将产生JSONException,因为JSON数组中的第一个索引对象缺少“NAME”和其他键。@请尝试,然后再次注释这就是为什么索引从1开始。请参阅for loopWith try catch块,您可以阻止应用程序崩溃,但是你不能像这样解析你的jason。@amitsingh在发布评论之前你试过了吗?那么“FeatCount”键呢??
{ // json object node
"SrchResults": [ // jsona array
{
"FeatCount": "53"
},
{ // json object node
"NAME": "Dengue_Cluster", // string
"Number of cases": "10",
"HYPERLINK": "http://www.dengue.gov.sg/cms/ehd/20131647.jpg ",
"DESCRIPTION": "Ang Mo Kio Ave 3 (Blk 126, 127, 128) / Ang Mo Kio Ave 6 (Blk 124, 125)",
"MAPTIP": "Dengue_Cluster",
"SYMBOLCOLOR": "#E600A9",
"XY": "29342.6037999997,39300.7427999992"
},
{
"NAME": "Dengue_Cluster",
"Number of cases": "11",
"HYPERLINK": "http://www.dengue.gov.sg/cms/ehd/20131578.jpg ",
"DESCRIPTION": "Guillemard Rd / Lor 28 Geylang / Lor 30 Geylang",
"MAPTIP": "Dengue_Cluster",
"SYMBOLCOLOR": "#E600A9",
"XY": "33644.5215999996,32574.9587999992"
}
]
}
try
{
JSONObject jObj = new JSONObject("My Json string");
JSONArray jr = jObj.getJSONArray("SrchResults");
JSONObject json = (JSONObject) jr.get(0);
String key = json.getString("FeatCount");
Log.i("...........",key);
for(int i=1;i<jr.length();i++)
{
JSONObject jb= jr.getJSONObject(i);
String name = jb.getString("NAME");
String nofcase = jb.getString("Number of cases");
Log.i("Name is....",name);
Log.i("No of cases .........",nofcase);
}
}catch(Exception e)
{
e.printStackTrace();
}
12-08 09:53:32.212: I/...........(30147): 53
12-08 09:53:32.212: I/Name is....(30147): Dengue_Cluster
12-08 09:53:32.212: I/No of cases .........(30147): 10
12-08 09:53:32.222: I/Name is....(30147): Dengue_Cluster
12-08 09:53:32.222: I/No of cases .........(30147): 11