如何将具有多个对象的 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.java和TestObject.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/