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);
}