如果有人可以帮助我解析这个json结果,那会有可能吗?我已将结果检索为字符串
{"query":{"latitude":39.9889,"longitude":-82.8118},"timestamp":1310252291.861,"address":{"geometry":{"coordinates":[-82.81168367358264,39.9887910986731],"type":"Point"},"properties":{"address":"284 Macdougal Ln","distance":"0.02","postcode":"43004","city":"Columbus","county":"Franklin","province":"OH","country":"US"},"type":"Feature"}}
Run Code Online (Sandbox Code Playgroud)
杰克逊.使用简单直观.对我来说是最好的.从Simple Data Binding开始,它将抛出它在Maps和Lists中找到的所有内容.
像这样:
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> yourData = mapper.readValue(new File("yourdata.json"), Map.class);
Run Code Online (Sandbox Code Playgroud)
这就是所需要的.
可以在这里找到一个好的和快速的介绍
以及实际数据的完整工作示例:
import java.io.IOException;
import java.util.Map;
import org.codehaus.jackson.map.ObjectMapper;
public class Main {
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
Map<?,?> rootAsMap = mapper.readValue(
"{\"query\":{\"latitude\":39.9889,\"longitude\":-82.8118},\"timestamp\":1310252291.861,\"address\":{\"geometry\":{\"coordinates\":[-82.81168367358264,39.9887910986731],\"type\":\"Point\"},\"properties\":{\"address\":\"284 Macdougal Ln\",\"distance\":\"0.02\",\"postcode\":\"43004\",\"city\":\"Columbus\",\"county\":\"Franklin\",\"province\":\"OH\",\"country\":\"US\"},\"type\":\"Feature\"}}".getBytes(),
Map.class);
System.out.println(rootAsMap);
Map query = (Map) rootAsMap.get("query");
Map address = (Map) rootAsMap.get("address");
Map addressProperties = (Map) address.get("properties");
String county = (String) addressProperties.get("county");
System.out.println("County is " + county);
}
}
Run Code Online (Sandbox Code Playgroud)
现在,整个Map杂耍也很好地说明了Bozho的观点,使用完全绑定(通过创建反映JSON数据内容的Java类)最终会更好地工作.
| 归档时间: |
|
| 查看次数: |
5841 次 |
| 最近记录: |