java - 帮助在java中解析JSON

标签 java json

如果有人能帮我解析这个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"}}

最佳答案

Jackson .使用简单直观。对我来说最好的。从 Simple Data Binding 开始,它将抛出它在 map 和列表中找到的所有内容。

像这样:

ObjectMapper mapper = new ObjectMapper();
Map<String,Object> yourData = mapper.readValue(new File("yourdata.json"), Map.class);

这就是所有需要的。

可以找到一个又好又快的介绍here

以及一个包含您的实际数据的完整工作示例:

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

}

现在,整个 Map 杂耍也很好地说明了 Bozho 的观点,使用完全绑定(bind)(通过创建一个反射(reflect) JSON 数据内容的 Java 类)最终会更好。

关于java - 帮助在java中解析JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6638059/

相关文章:

javascript - 使用 Javascript 从 URL 解析 JSON

javascript - 有没有更好的方法从 JSON 对象获取特定值?

java - 如何在没有太多引号的情况下序列化 JsonObject?

java - 为什么类变量的运行时多态性行为会发生变化

java - 如何使用 Java 将数据发布到 HTTP 服务器

java - 使用java poi将json写入excel

java - jackson 错误 : No such method com. fasterxml.jackson.core.JsonGenerator.setCurrentValue(Ljava/lang/Object;)V

java - 如何更改 Play Framework 中的模板引擎?

java - Google 方向 JSON 到 POJO ( jackson )

java - Netty 的 HttpObjectAggregator 似乎错过了 HTTP block