2013-11-26 26 views
0

目前我正在做一个java程序,我需要解析来自服务器的json消息。我想用谷歌的Gson来做,但是我从文档和网页中看到的都是如何将类转换为json,反之亦然。也许我误解了Gson,但我没有找到我需要的东西。如何在这些情况下轻松解析json

所以,作为消息的类型是变异和结构可以改变,我可能需要在以下几个方面来解析消息:

  1. GET值从一个关键

    String value = jsonParser.get(key); 
    

    为XPath中我总是这样xpath.evaluate( “//键”,DOC)

  2. 从关键

    得到的结构0

    所以有可能会像

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

    我可能想要获取对象以简单的方式预定义的结构。我可能不知道这个信息在json消息中的位置。

  3. 得到与约束

    例如,我可能想知道,如果他住在“4五奥克斯”一个人的命名值。 (地址是人的子节点)

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

+0

是的,你应该把你的'PS'到一个新的问题。我在这里删除它。 – Octoshape

回答

0

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

无论如何,如果你喜欢先解析JSON字符串的地图,看看在Convert Json to Map

也是第一个答案,因为在上面的链接说,JSON的Java库的完整(长)列表可以被发现在json.org

+0

是的,我应该知道可能的结构。如果出现错误,将会出现一个带有错误消息的返回代码201,然后json很短。另一个例子,如果我要求北上,客户可能会返回''loacateion':'forest'',这是森林结构造成的。但有时它可能会返回湖或其他人。所以我不会预测确切的结构。我要说清楚吗? – bijiDango

相关问题