当json属性包含空格时如何将json字符串转换为对象

时间:2018-09-17 12:48:32

标签: json spring spring-boot

我尝试将json字符串下面的内容放入我的帖子请求中

{
   "Service Tracking Rule - Vesting":{
      "Service Credit Method":"Hours Counting",
      "LOA Approved - Paid Rule Required":"false",
      "LOA Approved - Unpaid Rule Required":"false",
      "LOA FMLA Rule Required":"false",
      "LOA Military Rule Required":"false",
      "Service Credit Method":"Hours Counting",
      "BIS Employment Status Rule(HC)":[
         {
            "Employment Status - Sub Status":"Leave of Absence - Approved Unpaid",
            "Hours Per Service Period":"501"
         }
      ],
      "BIS Rule Type":"Rule of Parity",
      "Computation Period":"Custom Computation Period - Vesting",
      "Custom Computation Period End Date":"1230",
      "Custom Computation Period Start Date":"0801",
      "Number of Hours":"1000",
      "key":"Service Tracking",
      "id":"6bb4e2ae-21f2-44c1-a8f7-4f9a2a9c0d65",
      "RECORD_STATUS":"COMMITTED"
   }
}

我想将此json字符串字段放入我的请求POJO之一,如下所示:

public class ProcessJsonRequest {


    String serviceCreditMethod;
    String lOA_Approved_Paid_Rule_Required"
    -
    -
    -
    So on


}

请指导我。

2 个答案:

答案 0 :(得分:1)

使用jackson库并在您的课程字段上注释 @JsonProperty

public class ProcessJsonRequest {

    @JsonProperty("Service Credit Method")
    String serviceCreditMethod;
    @JsonProperty("LOA Approved - Paid Rule Required")
    String lOA_Approved_Paid_Rule_Required"
    -
    -
    -
    So on


}

答案 1 :(得分:0)

是的,您可以将依赖项用于杰克逊

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.6</version>
</dependency>

并使用pojo属性映射json键。 例如:

 @JsonProperty("Service Credit Method")
     private String serviceCreditMethod;
@JsonProperty("LOA Approved - Paid Rule Required")
     private String lOA_Approved_Paid_Rule_Required;

否则,您必须使用精确的pojo属性映射json字段。