问题描述
- 我有一段json请问需要怎么解析
-
{
"desc": "OK",
"status": 1000,
"data": {
"wendu": "2",
"ganmao": "天气较凉,较易发生感冒,请适当增加衣服。体质较弱的朋友尤其应该注意防护。",
"forecast": [
{
"fengxiang": "东北风",
"fengli": "3-4级",
"high": "高温 3℃",
"type": "小雪",
"low": "低温 -1℃",
"date": "28日星期三"
},
{
"fengxiang": "东北风",
"fengli": "3-4级",
"high": "高温 2℃",
"type": "大雪",
"low": "低温 -1℃",
"date": "29日星期四"
},
{
"fengxiang": "东北风",
"fengli": "3-4级",
"high": "高温 3℃",
"type": "阴",
"low": "低温 -1℃",
"date": "30日星期五"
},
{
"fengxiang": "东北风",
"fengli": "3-4级",
"high": "高温 3℃",
"type": "多云",
"low": "低温 -3℃",
"date": "31日星期六"
},
{
"fengxiang": "东风",
"fengli": "3-4级",
"high": "高温 4℃",
"type": "多云",
"low": "低温 -3℃",
"date": "1日星期天"
}
],
"yesterday": {
"fl": "4-5级",
"fx": "东北风",
"high": "高温 5℃",
"type": "小雨",
"low": "低温 0℃",
"date": "27日星期二"
},
"aqi": "53",
"city": "南京"
}
}
解决方案
JSONObject jsonObject = new JSONObject(myString );
//把你的字符串转化成JSON对象
String temp = jsonObject.getString("objectName");
//从JSON对象中获取字符串
JSONArray jsonArray = jsonObject.getJSONArray("arrayName");
//从JSON对象中获取JSON数组
JSONObject object = jsonArray.getJSONObject(index);
//从JSON数组中获取JSON对象
就这么些方法,试一试也就出来了
解决方案二:
看你在哪种语言下解析,如果是java,可以直接用Jsonobject类,或者GSon转为对象,其他语言都能找到第三方的类进行解析
解决方案三:
String jsonStr = "你的那一段字符串";
JSONObject jsonObject = new JSONObject(jsonStr);
data之前的字段直接就用jsonObject.get()字段名就能获取。
data里边的就用 JSONObject object_data = jsonObject.getJSONObject("data");
forecast里边的数据就用object_data.getJSONArray(),获取到的是一个JSONArray数组,然后遍历这个数组用get方式取你想要的数据就OK了。
解决方案四:
总的来说就是见到字段后边是冒号的直接就get 字段后边是{的就getJSONObject 字段后边的是[就getJSONArray。基本就能解析大部分json了。自己多写写,很简单的。
解决方案五:
字符串转换为jsonobject,其它根据键值取,data转换为jsonobject,forecast转换为jsonarray,里面每个都是一个jsonobject,遍历就ok。
解决方案六:
myString = EncodingUtils.getString(baf.toByteArray(), "UTF-8");
现在json在mystring中 请问接下来我需要怎么做