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

尝试将JSON字符串转换为JavaPOJO时遇到一个奇怪的问题

谈琦
2023-03-14
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
        <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.9.8</version>
        </dependency>

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“ID”(类com.optimight.prakash.general.employee)未标记为可忽略(0个已知属性:]),位于[源:(字符串)“{”ID“:1,”名称“:”Lokesh Gupta“,”年龄“:34,”位置“:”印度“}”;行:1,列:8](通过引用链:com.optimight.prakash.general.employee[“id”])在com.fasterxml.jackson.databind.exc.unrecognizedpropertyexception.from(unrecognizedpropertyexception.java:61)在com.fasterxml.jackson.databind.deserializationcontext.handleunknownproperty(deserializationcontext.java:823)在jectMapper.java:3004)在com.optimight.prakash.general.jsonToJavaPojo.main(jsonToJavaPojo.java:18)

在就业课上,我会得到

员工[ID=null,name=null,age=null,location=null]

    import java.io.IOException;
    import com.fasterxml.jackson.core.JsonGenerationException;
    import com.fasterxml.jackson.databind.JsonMappingException;
    import com.fasterxml.jackson.databind.ObjectMapper;

public class JSONtoJavaPOJO {
public static void main(String[] args) {
    String json = "{\"id\":1,\"name\":\"Lokesh Gupta\",\"age\":34,\"location\":\"India\"}";

    ObjectMapper mapper = new ObjectMapper();
    try
    {
        Employee emp = mapper.readValue(json, Employee.class);

        System.out.println(emp);
    }
    catch (JsonGenerationException e)
    {
        e.printStackTrace();
    } catch (JsonMappingException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;



//@JsonIgnoreProperties(ignoreUnknown = true)
public class Employee
{
    private Integer id;
    private String name;
    private Integer age;
    private String location;



    public Employee() {
    }


    public Employee(Integer id, String name, Integer age, String location) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
        this.location = location;
    }



    @Override
    public String toString() {
        return "Employee [id=" + id + ", name=" + name + ", age=" + age
                + ", location=" + location + "]";
    }
}

共有1个答案

别帅
2023-03-14

将setter和getter添加到Employee类中。

 类似资料:
  • 问题内容: 当我尝试将[] byte编组为JSON格式时,我只有一个奇怪的字符串。 请看下面的代码。 我有两个疑问: 如何将[] bytes封送至JSON? 为什么[] byte成为此字符串? 输出为: 戈朗游乐场:https : //play.golang.org/p/wanppBGzNR 问题答案: 根据文档:https : //golang.org/pkg/encoding/json/#Ma

  • 我正在使用一个groovy脚本将正文中的一些值转换为它们的原始数据类型。为了实现这一点,我使用了JsonSluper和JsonOutput。JsonSluper和JsonOutput正在将字符串中的一些符号从json主体转换为奇怪的字符。有什么建议可以解决这个问题吗? 示例:“UnitPrice”:“99美分/磅”转换为“UnitPrice”::“99\u00a2每磅” 已转换为 我的脚本: 下面

  • 我有一个RestController类,它有一个方法可以根据电影的标题搜索电影: 如果我发送一个json字符串 从邮递员到endpoint,我收到一个空白的回复。 然后我做了一个 就在进入方法后找到字符串filmSearch正是我从邮递员发送的JSON字符串。我的应用程序没有看到JSON和提取值从filmSearch在我的请求附加到应用程序内字符串filmSearch. 如果我移除 在请求映射的一

  • 我有一个非常基本的Spring Boot应用程序,具有。-data-jpa、.-data-rest和。-web依赖项。在我的模型中,有一个实体,它包含一个整数属性。当我用REST调用获取资源时,会出现以下异常: .W.S.M.S.DefaultHandlerExceptionResolver:未能写入HTTP消息:org.springframework.HTTP.converter.HttpMes

  • 问题内容: 我已经将其输入python shell: 我期望0.1 * 0.1不是0.01,因为我知道以10为底的0.1是周期性的,以2为底。 我已经看过20个以上的字符,因此我希望能得到20个。为什么我得到4? 好吧,这解释了为什么我给了我4,但为什么回归? 为什么不回合?(我已经阅读了这个答案,但是我想知道他们如何决定何时对浮点数进行取整,以及何时对不进行浮点取整) 因此,浮子的准确性似乎是一

  • 问题内容: 令人难以置信。为什么输出-124? 问题答案: 在Java中,an 是32位。A 是8 。 最原始的类型Java中的签名,,,,和long被编码在二进制补码。(类型为unsigned,并且sign的概念不适用于。) 在此数字方案中,最高有效位指定数字的符号。如果需要更多位,则将最高有效位(“ MSB”)简单复制到新的MSB中。 因此,如果你具有 并将其表示为 32位,则只需将1复制到左