另一个 Pojo 对象的 Java List<> 未初始化

问题描述

我有一个 Pojo 类,其中有以下字段:当我传递日期时,它显示为空。

Material(
              elevation: 2,child: Container(
                decoration: Boxdecoration(
                  color: Colors.white,BoxShadow: [
                    BoxShadow(
                      color: Colors.red,blurRadius: 2,spreadRadius: 2,offset: Offset(0,2),),],height: SizeConfig.isLargeScreen ? 60.h : 105.h,width: double.infinity,child: !SizeConfig.isLargeScreen),

请求:

import com.fasterxml.jackson.annotation.JsonProperty;
public class ParentPojo {

@JsonProperty("ChildPojoExample")
private List<ChildPojo> child;

public List<ChildPojo> getChild() {
    return child;
}

public void setChild(List<ChildPojo> child) {
    this.child= child;
}

public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("ParentPojo [ChildPojo=");
        builder.append(child);
        builder.append("]");
        return builder.toString();
}



public class ChildPojo{

    private String First;

    private String Second;

    private Double Third;

    public String getFirst() {
        return First;
    }

    public void setFirst(String first) {
        First= first;
    }

    public String getSecond() {
        return Second;
    }

    public void setSecond(String second) {
        Second= second;
    }

    public Double getThird() {
        return Third;
    }

    public void setThird(Double third) {
        Third= third;
    }

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("ChildPojo [First=");
        builder.append(First);
        builder.append(",Second=");
        builder.append(Second);
        builder.append(",Third=");
        builder.append(Third);
        builder.append("]");
        return builder.toString();
    }

}

我收到了 Request Pojo 对象的关注:

{
"ChildPojoExample": [{
"First": "test1","Second": "test2","Third": 0.024
 }]
}

我无法弄清楚为什么值没有正确进入对象,而是 null 来了。

我正在通过以下方式转换请求:

ParentPojo =[ChildPojo [First=null,Second=null,Third=null]]

解决方法

这是因为 ChildPojo 类中变量名的大小写。它期望变量名以小写字母开头

您可以使用 JsonProperty 注释来修复它。

@JsonProperty("First")
private String First;

@JsonProperty("Second")
private String Second;

@JsonProperty("Third")
private Double Third;