json數據
{
"resultcode": "200",
"reason": "successed!",
"result": {
"sk": {
"temp": "24",
"wind_direction": "西南風",
"wind_strength": "2級",
"humidity": "51%",
"time": "10:11"
},
"today": {
"temperature": "16℃~27℃",
"weather": "陰轉多雲",
"weather_id": {
"fa": "02",
"fb": "01"
},
"wind": "西南風3-4 級",
"week": "星期四",
"city": "濱州",
"date_y": "2015年06月04日",
"dressing_index": "舒適",
"dressing_advice": "建議着長袖T恤、襯衫加單褲等服裝。年老體弱者宜着針織長袖襯衫、馬甲和長褲。",
"uv_index": "最弱",
"comfort_index": "",
"wash_index": "較適宜",
"travel_index": "",
"exercise_index": "較適宜",
"drying_index": ""
},
"future": [
{
"temperature": "16℃~27℃",
"weather": "陰轉多雲",
"weather_id": {
"fa": "02",
"fb": "01"
},
"wind": "西南風3-4 級",
"week": "星期四",
"date": "20150604"
},
{
"temperature": "20℃~32℃",
"weather": "多雲轉晴",
"weather_id": {
"fa": "01",
"fb": "00"
},
"wind": "西風3-4 級",
"week": "星期五",
"date": "20150605"
},
{
"temperature": "23℃~35℃",
"weather": "多雲轉陰",
"weather_id": {
"fa": "01",
"fb": "02"
},
"wind": "西南風3-4 級",
"week": "星期六",
"date": "20150606"
},
{
"temperature": "20℃~33℃",
"weather": "多雲",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "北風微風",
"week": "星期日",
"date": "20150607"
},
{
"temperature": "22℃~34℃",
"weather": "多雲",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "西南風3-4 級",
"week": "星期一",
"date": "20150608"
},
{
"temperature": "22℃~33℃",
"weather": "陰",
"weather_id": {
"fa": "02",
"fb": "02"
},
"wind": "西南風3-4 級",
"week": "星期二",
"date": "20150609"
},
{
"temperature": "22℃~33℃",
"weather": "多雲",
"weather_id": {
"fa": "01",
"fb": "01"
},
"wind": "南風3-4 級",
"week": "星期三",
"date": "20150610"
}
]
},
"error_code": 0
}
解析JSONObject
import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import com.google.gson.JsonIOException; import java.io.FileNotFoundException; import java.io.FileReader; public class ReadJson { public static void main(String []args) { JsonParser parse = new JsonParser(); try { JsonObject json = (JsonObject) parse.parse(new FileReader("weather.json")); System.out.println("resultcode:" + json.get("resultcodeu").getAsInt()); System.out.println("reason:" + json.get("reason").getAsString()); JsonObject result = json.get("result").getAsJsonObject(); JsonObject today = result.get("today").getAsJsonObject(); System.out.println("weak:" + today.get("week").getAsString()); System.out.println("weather:" + today.get("weather").getAsString()); } catch (JsonIOException e) { e.printStackTrace(); } catch (NullPointerException e) { e.printStackTrace(); } catch (JsonSyntaxException e){ e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
解析JSONArray
import com.google.gson.JsonParser; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonSyntaxException; import com.google.gson.JsonIOException; import java.io.FileNotFoundException; import java.io.FileReader; public class ReadJsonArray { public static void main(String []args) { JsonParser parse = new JsonParser(); try { JsonObject json = (JsonObject)parse.parse(new FileReader("C:\\Users\\jihite\\IdeaProjects\\TestProject\\jsontest\\src\\main\\java\\weather.json")); JsonObject result = json.get("result").getAsJsonObject(); JsonArray futureArray = result.get("future").getAsJsonArray(); for (int i = 0; i < futureArray.size(); ++i) { JsonObject subObj = futureArray.get(i).getAsJsonObject(); System.out.println("------"); System.out.println("week:" + subObj.get("week").getAsString()); System.out.println("weather:" + subObj.get("weather").getAsString()); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (JsonIOException e) { e.printStackTrace(); } catch (JsonSyntaxException e) { e.printStackTrace(); } } }
注意
文件路徑相對路徑是從工程根目錄開始

