java - 将具有多个对象的 JSON 字符串转换为类实例

标签 java json jackson

如何将具有多个对象的 Json 字符串转换为 java 对象:

编辑:它似乎不太可能起作用,但这会创建类 Statement 的 2 个类实例:

String JsonStr = "{\"bills\":[{\"amount\":\"13\",\"billId\":\"billid3\"}] ,\"bills\":[{\"amount\":\"155\",\"billId\":\"billid4\"}]}";
ObjectMapper mapper = new ObjectMapper();
Statement obj = mapper.readValue(JsonStr, obj.class);

如果不是,我该如何编写程序代码来接收具有多个相同类型(银行对帐单)的唯一对象的 JSON 字符串,并为其创建适当数量的 Java 对象实例? 如果有任何帮助,我将不胜感激。

非常感谢!

最佳答案

我觉得你提供的json串应该是这样的

"{\"bills\":[{\"amount\":\"13\",\"billId\":\"billid3\"} ,{\"amount\":\"155\",\"billId\":\"billid4\"}]}"

如果是这种情况,您可以使用以下解决方案:

创建两个类Bill.javaTestObject.java如下:

Bill.java

public class Bill {
    private double amount;
    private String billId;
    /**
     * @return the amount
     */
    public double getAmount() {
        return amount;
    }
    /**
     * @param amount the amount to set
     */
    public void setAmount(double amount) {
        this.amount = amount;
    }
    /**
     * @return the billId
     */
    public String getBillId() {
        return billId;
    }
    /**
     * @param billId the billId to set
     */
    public void setBillId(String billId) {
        this.billId = billId;
    }

}

TestObject.java

import java.util.List;

public class TestObject {

    private List<Bill> bills;

    /**
     * @return the bills
     */
    public List<Bill> getBills() {
        return bills;
    }

    /**
     * @param bills the bills to set
     */
    public void setBills(List<Bill> bills) {
        this.bills = bills;
    }

}

这里是测试代码的主程序。

测试.java

import com.fasterxml.jackson.databind.ObjectMapper;

public class Test {

    public static void main(String[] args) {
        String jsonStr = "{\"bills\":[{\"amount\":\"13\",\"billId\":\"billid3\"} ,{\"amount\":\"155\",\"billId\":\"billid4\"}]}";

        ObjectMapper mapper = new ObjectMapper();
        try {
            TestObject testObject = mapper.readValue(jsonStr, TestObject.class);
            System.out.print(testObject);
        } catch (Exception e) {
            e.printStackTrace();
        } 
    }
}

关于java - 将具有多个对象的 JSON 字符串转换为类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40414463/

相关文章:

java - 通过java在Gmail中通过POP3读取邮件

java - 读取 Json 对象并将所需值存储在 Map 中

java - Jackson @JsonInclude(Include.ALWAYS) 适用于所有 child

java - 使用 Jackson 时如何避免从 JSON 字符串反序列化空 JSON 数组元素

Java闰年代码问题

java - 在Java 1.3中实现UncaughtExceptionHandler

c# - 如果其中一个 Json 键包含一个点,如何为 Json 序列化声明匿名类型?

json - 复杂json结构的Mongodb查询

json - getOutputStream() 已经被称为 spring boot

java - 我在尝试 httpcon.getInputStream() 时遇到 FileNotFoundException。有没有办法方便的检查是否是404网页?