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

Jackson Json List里面的对象,如何获取bean?[复制]

谷彦君
2023-03-14

我很难使用Jackson将Json字符串转换为java中的对象。

模型

public class PPDResult {


    int Result;
    String ResultMessage;

    List<PPDObj> LoanInfos;
}

public class PPDObj {

    private int ListingId;

    private String Title;

    private String CreditCode;

    private BigDecimal Amount;

    private Double Rate;

    private int Months;

    private int PayWay;

    private BigDecimal RemainFunding;
}

数据:

{
    "LoanInfos": [
        {
            "ListingId": 52233312,
            "Title": "xxxxxxx",
            "CreditCode": "D",
            "Amount": 787,
            "Rate": 22,
            "Months": 6,
            "PayWay": 0,
            "RemainFunding": 387
        },
        {
            "ListingId": 52233362,
            "Title": "xxxxxxxxx",
            "CreditCode": "B",
            "Amount": 10000,
            "Rate": 18,
            "Months": 6,
            "PayWay": 0,
            "RemainFunding": 7695
        }
    ],
    "Result": 1,
    "ResultMessage": "success",
    "ResultCode": null
}

检索代码

String resultStr = new BufferedReader(inputStreamReader).readLine();        

pPDResult = mapper.readValue(resultStr, PPDResult.class);

错误:

Exception in thread "main" com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "LoanInfos" (class ppd.pojo.PPDResult), not marked as ignorable (3 known properties: , "resultMessage", "result", "loanInfos"])
 at [Source: xxxxxxxxx; line: 1, column: 15] (through reference chain: ppd.pojo.PPDResult["LoanInfos"])

问题:

怎么了?如何编写正确的代码?

我在对象中引用了Jackson Json列表,但尚未解决,请在此处输入图像描述在此处输入图像描述

共有1个答案

曾景龙
2023-03-14

这是决心。感谢@cricket\u 007

我尝试更改模型,将@JsonProperty添加到字段,如下所示:

public class PPDObj {

    @JsonProperty("ListingId")
    private int ListingId;
    @JsonProperty("Title")
    private String Title;
    @JsonProperty("CreditCode")
    private String CreditCode;
    @JsonProperty("Amount")
    private BigDecimal Amount;
    @JsonProperty("Rate")
    private Double Rate;
    @JsonProperty("Months")
    private int Months;
    @JsonProperty("PayWay")
    private int PayWay;
    @JsonProperty("RemainFunding")
    private BigDecimal RemainFunding;

}
public class PPDResult {

    @JsonProperty("Result")
    int Result;
    @JsonProperty("ResultMessage")
    String ResultMessage;
    @JsonProperty("ResultCode")
    String ResultCode;
    @JsonProperty("LoanInfos")
    List<PPDObj> LoanInfos;
}

非常感谢。

 类似资料:
  • 问题内容: 我正在使用Spring注入豆类。我正在使用一些注释来注释Bean方法(安全性,TransactionManagement,ExceptionHanling,日志记录)。问题是: 我想创建JUnit测试来检查是否忘记了一些方法。但是Spring返回$ ProxyXXX类,方法上没有任何注释。 如何获取方法的注释或获取真实的类对象? PS Spring 2.5.6,JDKDynamicPr

  • 我有个简单的课 我创建了这个类的样本对象的ArrayList 这里没有显示我后来如何填充对象的其他字段(名称,地址等) 有没有一种方法可以使用字母数字字符串id快速检索其中一个对象,而无需遍历整个列表?(没有实现数据库层) 差不多

  • 主要内容:1. ServletActionContext,2. ServletContextAware,参考在Struts2中,可以使用以下两种方法来获取ServletContext对象。 1. ServletActionContext 直接从 org.apache.struts2.ServletActionContext 获取 ServletContext 对象。 2. ServletContextAware 让你的类实现了org.apache.struts2.util.ServletCont

  • 问题内容: 我创建了一个JavaScript对象,但是如何确定该对象的类呢? 我想要一些类似于Java的方法。 问题答案: JavaScript中没有Java的完全对应版本。通常,这是由于JavaScript是一种基于原型的语言,而不是Java是一种基于类的语言。 一些例子: 注意:如果使用Uglify编译代码,它将更改非全局类名。为了防止这种情况,Uglify有一个参数,可以使用gulp或gru

  • 问题内容: 有没有办法获取Java对象的地址? 问题来自哪里?:首先,我读取属性文件,并将文件中的所有数据放入表中。属性文件可以更新。所以,我想听那个文件。我使用PropertyChangeSupport和PropertyChangeListener监听对象。 如果updatedStatus更改,那么我将更新表。MyString类具有私有字符串“ Value”。我想听属性文件。因此,应使updat