Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法解析包含列表元素的json_Java_Json_Spring_Rest - Fatal编程技术网

Java 无法解析包含列表元素的json

Java 无法解析包含列表元素的json,java,json,spring,rest,Java,Json,Spring,Rest,我有一个Java类,里面有2个List对象,我正在Json序列化父类 @JsonSerialize public class RequestSalesJson { @JsonProperty("nonUniqueSalesList") private List<SalesDataJson> getNonUniqueSalesDataJson; @JsonProperty("uniqueSalesList") private List<SalesD

我有一个Java类,里面有2个List对象,我正在Json序列化父类

@JsonSerialize
public class RequestSalesJson {
    @JsonProperty("nonUniqueSalesList")
    private List<SalesDataJson> getNonUniqueSalesDataJson;
    @JsonProperty("uniqueSalesList")
    private List<SalesDataJson> uniqueSalesDataJson;

    public List<SalesDataJson> getGetNonUniqueSalesDataJson() {
        return getNonUniqueSalesDataJson;
    }

    public void setGetNonUniqueSalesDataJson(List<SalesDataJson> getNonUniqueSalesDataJson) {
        this.getNonUniqueSalesDataJson = getNonUniqueSalesDataJson;
    }

    public List<SalesDataJson> getUniqueSalesDataJson() {
        return uniqueSalesDataJson;
    }

    public void setUniqueSalesDataJson(List<SalesDataJson> uniqueSalesDataJson) {
        this.uniqueSalesDataJson = uniqueSalesDataJson;
    }
}
Controller.java:-

@RequestMapping(value = "/addAllSalesData",method = RequestMethod.POST)
    public void addAllSalesData(@RequestBody RequestSalesJson requestSalesJsons){
        log.info("POST : '/addSalesData'");
        try{
            System.out.print("In Controller "+requestSalesJsons.getUniqueSalesDataJson());
            //salesService.processSalesData(requestSalesJsons);
        }
        catch(Exception e){
          // return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage());
        }
    } 
这里的值即将为null

下面是我正在使用的json:-

{ "uniqueSalesJson": [{"SO":4000955,"Part Number":"000","Locator":255638,"Lot Number":"P01-2059139","Reservation Quantity":2,"Status":"Released to warehouse","COE":"Fabrication","ORG":"P07","Start_Time":"2017-09-19 11:21:36"},{"SO":4000955,"Part Number":"000","Locator":255652,"Lot Number":"P01-2059140","Reservation Quantity":10,"Status":"Released to warehouse","COE":"Fabrication","ORG":"P07","Start_Time":"2017-09-19 11:21:36"}],"nonUniqueSalesJson":[{"SO":4000992,"Part Number":"1276M84G15","Locator":12345,"Lot Number":"P01-2344141","Reservation Quantity":6,"Status":"PACKED","COE":"Fabrication","ORG":"P07","Start_Time":"2017-09-19 11:21:36"},{"SO":4000992,"Part Number":"1276M84G15","Locator":12345,"Lot Number":"P01-2344141","Reservation Quantity":6,"Status":"PICKED","COE":"Fabrication","ORG":"P07","Start_Time":"2017-09-19 11:21:36"}]}

您的代码中存在一些问题,让我怀疑您的应用程序是否能够编译。首先,将
salereturnjson
类重命名为
SalesDataJson
。 然后检查
@JsonProperty
注释。此处的值必须与Json字符串中的属性键完全匹配。重构所有这些内容将引导您找到根实体类:

@JsonSerialize
public class RequestSalesJson {
    @JsonProperty("nonUniqueSalesJson")
    private List<SalesDataJson> nonUniqueSalesDataJson;
    @JsonProperty("uniqueSalesJson")
    private List<SalesDataJson> uniqueSalesDataJson;
    ...
}
此示例在
com.fasterxml.jackson.databind.ObjectMapper中正常工作


希望有帮助

在RequestMapping的顶部添加@RestController
@JsonSerialize
public class RequestSalesJson {
    @JsonProperty("nonUniqueSalesJson")
    private List<SalesDataJson> nonUniqueSalesDataJson;
    @JsonProperty("uniqueSalesJson")
    private List<SalesDataJson> uniqueSalesDataJson;
    ...
}
@JsonSerialize
public class SalesDataJson {
    @JsonProperty("Start_Time")
    private String startTime;
    @JsonProperty("Part Number")
    private String partNumber;
    @JsonProperty("SO")
    private String SalesOrderNumber;
}