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

在Java对象中使用List转换JSON

康恩
2023-03-14

我正在尝试使用jackson api中的ObjectMapper类将下面的JSON转换为Java对象,但我收到一个错误。我的java类应该是什么样子?

[{
    "saleValue": 100,
    "priceEventTypeCode": 1,
    "startDate": "2016-03-23T18:00:00.0Z",
    "updateStoredValue": true,
    "autoRound": false,
    "priceChangeNumber": "tkt"
},
{
    "saleValue": 100,
    "priceEventTypeCode": 1,
    "startDate": "2016-03-23T18:00:00.0Z",
    "updateStoredValue": true,
    "autoRound": false,
    "priceChangeNumber": "tkt"
}]

如果我有下面的json,我可以将其转换为java对象。

public class Pid
{
    private String priceChangeNumber;
    private String startDate;
    private String autoRound;
    private String priceEventTypeCode;
    private String saleValue;
    private String updateStoredValue;

    // getter and setter functions removed here.
}

Json:

{
    "saleValue": 100,
    "priceEventTypeCode": 1,
    "startDate": "2016-03-23T18:00:00.0Z",
    "updateStoredValue": true,
    "autoRound": false,
    "priceChangeNumber": "tkt"
}

共有1个答案

端木志诚
2023-03-14

ObjectMapper支持下面的方法。使用它们:)

    //To Array
    Pid[] pidArray = mapper.readValue(json, Pid[].class);

    //To List
    List<Pid> pidList1 = mapper.readValue(json, new TypeReference<List<Pid>>(){});

    //To List Another way
    List<Pid> pidList2 = mapper.readValue(json, mapper.getTypeFactory().constructCollectionType(List.class, Pid.class));
 类似资料:
  • 如何将单对象转换为简单列表对象? 我使用下面的代码:

  • 问题内容: 我有一个列表,我需要使用GSON将其转换为JSON对象。我的JSON对象中包含JSON数组。 以下是我的代码,其中我需要将列表转换为其中具有JSON数组的JSON对象- 到目前为止,列表中只有两项-所以我需要这样的JSON对象- 做这个的最好方式是什么? 问题答案: 如果在您的方法中为,则应进行序列化。 这将为您提供所需的JSON输出。

  • 我有V类的对象列表,我想创建一个相同V类的新对象。List中对象的一些属性在列表中是相同的,一些属性具有不同的值。我想创建新的对象V,它们具有公共属性,并且具有不同值的属性应该被求和并设置为对象V。 例如 我有如下列表。 我想要新的Sample对象,其值为 我怎样才能做到这一点?

  • 我有这个: 我想把这个(String类型的列表)直接投射到新的(类型)上,但不知道如何?

  • 问题内容: 我对用Java转换对象的含义感到困惑。 说你有… 这是怎么回事 变量类型会更改吗,还是变量内的对象会更改?很迷茫。 问题答案: 看一下这个样本:

  • 所以我目前正在使用用户输入初始温度的对象编写一个程序,然后程序必须将其计算为摄氏度,这只是用户输入,然后是华氏度,然后是开尔文。该类还有一个单一的构造函数,它接受作为双参数提供的初始温度。如果这个参数是