【问题标题】:Convert Json to a java object将 Json 转换为 java 对象
【发布时间】:2014-11-14 11:43:33
【问题描述】:

使用 get 和 set 方法生成 Java 对象的方法是什么?

【问题讨论】:

    标签: java json gson pojo


    【解决方案1】:

    您应该编写一个带有与 JSON 键匹配的属性的 java bean,因为您已经有了一个阅读器,它很简单

    YourObject obj = gson.fromJson(br, YourObject.class);
    

    更新

    关于您的评论,当您不想或无法创建 bean 时,通常归结为将 JSON 解析为映射。 GSON (afaik) 没有内置的,但是构建一个遍历 GSON 对象的方法并不难。您在此博客中有一个示例

    http://itsmyviewofthings.blogspot.it/2013/04/jsonconverter-code-that-converts-json.html

    由于您似乎对替代方案持开放态度,因此也请看一下 Jackson(这两个库是 JAVA 中的事实标准)。

    使用 jackson,您不必创建 bean 来支持反序列化,例如

        String json = "{\"id\":\"masterslave\"}";
        Map<String,String> map = new HashMap<String,String>();
        ObjectMapper mapper = new ObjectMapper();
        //convert JSON string to Map
        map = mapper.readValue(json, 
        new TypeReference<HashMap<String,String>>(){});
    

    【讨论】:

    • 好的 MasterSlave,但我想知道是否有任何其他方法可以避免以编程方式创建 java bean。例如,如果 Json 消息有 1000 个字段,我必须花费大量时间来创建 bean。
    • 不要用你的自己的 cmets编辑OP。将任何评论/其他详细信息添加到您的自己的帖子中。
    【解决方案2】:

    http://www.jsonschema2pojo.org/

    该链接有助于根据您输入的 GSON 生成 Java 对象格式。只需确保完全按照您的需要进行设置。与往常一样,仅复制粘贴生成的代码并不是一个好主意,但它可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 2023-03-17
      • 1970-01-01
      相关资源
      最近更新 更多