当前位置: 首页 > 知识库问答 >
问题:

无法将Json字符串转换为Java对象

毛正浩
2023-03-14

我无法将给定的Json字符串转换为java对象

@JsonIgnoreProperties(ignoreUnknown = true)
public class DevPol {

    private String id;
    private Header header;

    //Setters and Getters
}

@JsonIgnoreProperties(ignoreUnknown = true)
public class Header {

    private String name;
    private String lastUpdate;
    private int priority;
    private boolean active;

    //Setters and Getters
}

import com.fasterxml.jackson.databind.ObjectMapper;
public class ConvertJsonToJava {

    static String apiResult = "[ {\"Id\":\"5899503ad06f7f0008817430\",  \"Header\":{  \"name\":\"ClCol\"," + 
            "         \"lastupdate\":\"2017-02-07T04:42:34.654Z\", \"priority\":1,  \"active\":true } }," + 
            "   { \"Id\":\"5899503ad06f7f0008817431\",\"Header\":{  \"name\":\"SysPol\"," +
            " \"lastupdate\":\"2017-02-07T04:42:34.659Z\", \"priority\":2, \"active\":true } }]"; 

    public static void main(String[] args) throws Exception {
        ObjectMapper mapper = new ObjectMapper();
        DevPol[] devPOlArr = mapper.readValue(apiResult, DevPol[].class);
        for(DevPol devPol: devPOlArr) {

            System.out.println(devPol.getId());
        }
    }

}

共有1个答案

喻渊
2023-03-14

问题是json字段名和java类字段中的大写字母。

如果可能,在json和Java中重命名'id'->'id'。否则,您应该将json属性名添加到java字段:

public class DevPol {

    @JsonProperty("Id")
    private String Id;
    @JsonProperty("Header")
    private Header Header;

//Setters and Getters

}
 类似资料:
  • 问题内容: 我一直在寻找与将JSON字符串转换为Java对象有关的示例,但没有找到任何好的示例。我发现的那个曾经真的很基础,却没有真正处理复杂的JSON字符串。 我正在制作一个使用谷歌翻译API将字符串从英语翻译成不同语言的应用程序。Google的查询回应是…以下文字采用JSON格式, 到目前为止,我的方法是使用GSON API,但实际上,我被该如何处理这个复杂的结果并创建Java对象所困扰? 我

  • 问题内容: 将字符串表示形式转换为对象,但我要相反。对象要转换为JSON字符串,我有一个链接http://www.devcurry.com/2010/03/convert- javascript-object-to-json.html, 但是它需要json2.js jQuery是否具有本机功能方法来做到这一点? 问题答案: jQuery只会在调用本机浏览器方法之前进行一些正则表达式检查。如果不可用

  • 问题内容: 如何使用JavaScript(或jQuery)将描述对象的字符串转换为JSON字符串? 例如:转换这个( 不是 有效的JSON字符串): 到这个: 如果可能,我希望避免使用。 问题答案: 如果字符串是来自可靠来源 ,你可以使用然后的结果。像这样: 请注意,当您使用对象文字时,必须将其括在圆括号中,否则将花括号解析为块而不是对象。 我也同意以下问题的评论,那就是最好以有效的JSON开始编

  • 问题内容: 您如何使JS认为字符串是JSON? 我有一个仅在将JSON对象传递给它的情况下才起作用的函数。如果我以与JSON相同的格式将字符串传递给它,则它将不起作用。因此,我想让该函数认为传递给它的字符串是JSON。该字符串确实采用JSON格式。 我还尝试了以下方法。我通过Ajax输入了字符串,参数“ handle as”为“ JSON”,然后将结果传递给函数。 所以我推断出问题不在弦上。如何将

  • 问题内容: 如果我用以下方法在JS中定义了一个对象: 如何将对象转换为JSON?输出字符串应为: 问题答案: 当前所有的浏览器都内置了本机JSON支持。因此,只要您不使用IE6 / 7之类的史前浏览器,就可以像这样轻松地做到这一点:

  • 问题内容: 是否可以将json字符串(例如,从twitter搜索json服务返回的json字符串)转换为简单的字符串对象。这是从json服务返回的数据的一小部分表示形式: 可以说我以某种方式将结果存储在某个变量中,例如 obj 。我希望获得适当的值,如下所示: 我已经尝试过使用,但是它给了我一个错误提示 问题答案: 我已经尝试过使用,但是它给了我一个错误提示 要从字符串加载,请使用(注意“ s”)