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

如何拆分不同的json属性没有包装在json对象到多个模型java类

索嘉胜
2023-03-14

我有一个具有不同键属性值的大负载。我尝试基于门户上的对象创建单独的模型类。但是没有为这些属性包装单独的json对象。我的问题是如何将大型json对象拆分为单独的java类。

有效载荷:{"文件类型":"BDFFIIJCDSAAA","文件组":"394EIIJCDSAAA","铺层":"0","NumberOfCopies":"1","tpDocNumbers":["507317219"],"产品":{"船舶": null,"航程": null,"国家接收": null,"包含国家接收":"true","国家/地区/负载": null,"包括国家/地区/负载":"true","国家/地区/排放": null,"包括国家/地区/排放":"true","iountryOfDelivery": null,"包括国家/地区/交付":"true","tradeLane": null,"包括国家/地区/接收":"true","place eOfReceipt": null,"包括国家/地区/接收":"true","loadPort": null,""包含LoadPort":"true","dischargePort": null,"包含DischargePort":"true","place OfDelivery": null,"包含PlaceOfDelivery":"true"},"isTaskStatusBlank":"true","isTaskStatusOpen":"true","isTaskStatusCloked":"true","接受者":"Direct","接受者": null,"通信":"电子邮件","联系人":"avinash.m@maersk.com","主题":"latest123","docBrokerDomain": "", "printerName": "", "templateDomain": "", "优先级": "", "自由文本": "" }

Java模型类-公共类A{

@JsonProperty("DocumentType")
private String documentType;

@JsonProperty("DocumentGroup")
private String documentGroup;

private Ply ply;

@JsonProperty("PartyRoles")
private String partyRoles;

@JsonProperty("CustomerId")
private String customerId;

@JsonProperty("PartyRoleTypeId")
private String partyRoleTypeId;

@JsonProperty("PartyRefNo")
private String partyRefNo;

@JsonProperty("TPDocNumbers")
private List<String> tpDocNumbers;

@JsonProperty("Product")
private Product product;

private Cargo cargoInfo;

private TaskCriteria taskCriteria;

private Recipient recipientInfo;

@JsonProperty("DocBrokerDomain")
private String docBrokerDomain;

@JsonProperty("PrinterName")
private String printerName;

@JsonProperty("TemplateDomain")
private String templateDomain;

@JsonProperty("Priority")
private String priority;

@JsonProperty("RequestType")
private String requestType;

@JsonProperty("FreeText")
private String freeText;

}

公共类Ply{@JsonProperty("Ply")私有int plyNumber;//ply选择@JsonProperty("NumberOfCopies")私有int副本;//CopSelect@JsonProperty("freghts选择")私有字符串freghts;}

这不起作用,当遇到Ply对象类时,我得到了错误——“没有字符串参数构造函数/工厂方法从字符串值('0')\n反序列化”。

共有1个答案

贺文彬
2023-03-14

您所面临的问题是因为您的JSON将ply用作字符串值,而您的POJO将Ply用作Ply类的对象。解决方案:

  1. 将POJO从Ply对象更改为Ply整数值。
  2. 将Json从ply字符串更改为ply的对象,属性值为ply编号。
  3. 还可以使用ObjectMapper readTree将JSON作为树读取并创建映射
 类似资料:
  • 问题内容: 我有一个JSON 不同系列中的值是(“ rating”:0)或(“ rating”:“ 9.6747”)。 我正在使用Codable / Decodable协议解析JSON: 如果rating == String,则我的代码有效,并且我具有JSON中的所有变量,但是如果rating == Int,则全部为。我应该怎么做来解析所有类型变量一次和? 我的可解码功能: 谢谢。 问题答案: 您

  • 问题内容: 错误::’dict’对象没有属性’_meta’ 问题答案: 序列化器将等待普通的查询集,而不是(由返回)。如果只想查询某些字段,请使用

  • 我试图分裂链接的图像是什么错在我的代码

  • 问题内容: 是否有可能建立一个JSON模式,它仍然允许但 不 若一个非常特别的属性名存在匹配吗?换句话说,我需要知道是否有可能与声明完全相反。 架构: 比赛: 比赛: 难道 不 匹配: 问题答案: 您可以通过使用关键字来实现。如果架构验证,则父架构将不验证。

  • 我有一个pyspark dataframe,其中一列的格式如下: [{key1:value1},{key2:value2},{key3:value3},{key4:value4}] 让我们把它说成下面的专栏: 我希望将其转换为dataframe的列,其中列名为keyX,其内容为valueX,其中x=[1,4],如下所示: 我试过一些解决办法,但都不起作用。请求你分享任何想法或解决方案,如果你有。提