简单来说:
“key”:“value” --> 此时value为String
“key":0 --> 此时value为int
“key”:{“k1”:“v1”} --> 此时value为JSONObject
“key”:[v] --> 此时value为JSONArray
以下举例数据结构:
"error"
:
0
,
"status"
:
"success"
,
"results"
:
[
"currentCity"
:
"青岛"
,
"index"
:
[
"title"
:
"穿衣"
,
"zs"
:
"较冷"
,
"tipt"
:
"穿衣指数"
,
"des"
:
"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。"
"title"
:
"紫外线强度"
,
"zs"
:
"中等"
,
"tipt"
:
"紫外线强度指数"
,
"des"
:
"属中等强度紫外线辐射天气,外出时建议涂擦SPF高于15、PA+的防晒护肤品,戴帽子、太阳镜。"
解析代码:
public class Test {
public static void main(String[] args) {
String s = "{\"error\":0,\"status\":\"success\",\"results\":[{\"currentCity\":\"青岛\",\"index\":[{\"title\":\"穿衣\",\"zs\":\"较冷\",\"tipt\":\"穿衣指数\",\"des\":\"建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。\"},{\"title\":\"紫外线强度\",\"zs\":\"最弱\",\"tipt\":\"紫外线强度指数\",\"des\":\"属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。\"}],}]}";
JSONObject jsonObject = JSONObject.fromObject(s);
int error = jsonObject.getInt("error");
System.out.println("error:" + error);
String status = jsonObject.getString("status");
System.out.println("status:" + status);
JSONArray result = jsonObject.getJSONArray("results");
for (int i = 0; i < result.size(); i++) {
String currentCity = result.getJSONObject(i).getString("currentCity");
System.out.println("currentCity:" + currentCity);
JSONArray index = result.getJSONObject(i).getJSONArray("index");
for (int j = 0; j < index.size(); j++) {
String title = index.getJSONObject(j).getString("title");
System.out.println("title:" + title);
String zs = index.getJSONObject(j).getString("zs");
System.out.println("zs:" + zs);
String tipt = index.getJSONObject(j).getString("tipt");
System.out.println("tipt:" + tipt);
String des = index.getJSONObject(j).getString("des");
System.out.println("des:" + des);
数据结构:{ &quot;error&quot;: 0, &quot;status&quot;: &quot;success&quot;, &quot;results&quot;: [ { &quot;currentCity&quot;: &quot;青岛&quot;, &quot;index&quot;:
package com.iteam.test;import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {public static void main(String[] args) { String s = "{\"error\":0,\"status\":\"success\",\"resu
一、使用JSONObject来解析JSON数据官方提供的,所以不需要导入第三方jar包;直接上代码,如下
private void parseJSONWithJSONObject(String JsonData) {
JSONArray jsonArray = new JSONArray(jsonData);
fo...