如何在这些情况下轻松解析json

时间:2013-11-26 12:50:21

标签: java json xpath

目前我正在做一个java程序,我需要从服务器解析json消息。我想用谷歌的Gson做这件事,但我从文档和网站上看到的是如何将类转换为json,反之亦然。也许我误解了Gson,但我找不到我需要的东西。

因此,由于消息的类型是变体而结构可能会发生变化,我可能需要通过以下方式解析消息:

  1. 从键中获取值

    String value = jsonParser.get(key);   
    

    在xpath中我总是做xpath.evaluate(“// key”,doc)

  2. 从键中获取结构

    所以可能有预定义的结构,如

    class Address{
        Srting street;
        String city;
        ...
        // and other fields or methods needed
    }
    

    我可能希望以简单的方式获取对象。我可能不知道这个信息在json消息中的位置。

  3. 获取带约束的值

    例如,如果他住在'4 Five Oaks',我可能想知道一个人的名字。 (地址是人的子节点)

  4. 我更喜欢java api或小jar包,而不是需要整个apache项目支持的jar。

1 个答案:

答案 0 :(得分:0)

在通常情况下,当使用Java时,客户端会通过统一按摩结构或通过请求来自不同的URL /查询来知道应该接收什么类型的对象。

无论如何,如果您想首先将json解析为字符串映射,请查看Convert Json to Map的第一个答案

另外,如上面的链接所述,可以在json.org找到完整的(长)JSON Java库列表