Java實現對複雜json字符串的解析
以下是需要解析的Json字符串:
{
"status":0,
"result":{
"location":{
"lng":208.5565,
"lat":52.575242
},
"precise":1,
"confidence":75,
"comprehension":57,
"level":"商務大廈"
}
}
採用Google的gson來解析json字符串,需要那個節點的數據,都可以靈活的獲取,需要導入的jar包和測試方法都在下邊:
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
/**
* json字符串解析
* @param jsonData
*/
public static void analysisJson(String jsonData) {
//創建json解析器
JsonParser parse = new JsonParser();
JsonObject json = (JsonObject) parse.parse(jsonData);
//json字符串解析,獲取result節點
JsonObject result = json.get("result").getAsJsonObject();
//獲取location節點
JsonObject location = result.get("location").getAsJsonObject();
//獲取節點的數值
String lng = location.get("lng").toString();
String lat = location.get("lat").toString();
//打印輸出
System.out.println("lng:" + lng + "---" + "lat:" + lat);
}
/**
* main 方法測試
* @param args
*/
public static void main(String[] args) {
//轉義後的json字符串
String jsonData = "{\"status\":0,\"result\":{\"location\":{\"lng\":208.5565,\"lat\":52.575242},\"precise\":1,\"confidence\":75,\"comprehension\":57,\"level\":\"商務大廈\"}}";
//調用上邊的解析方法
analysisJson(jsonData);
}