簡體   English   中英

JSON 解析器不返回數字

[英]JSON parser not returning numbers

我有以下 JSON 結構:

{
   "status": "Completed",
   "notes": null,
   "members":    {
      "0":       {
         "year": "2",
         "details":          {
            "id": "14899975",
            "anotherId": "11013306"
         },
         "aName": "Fred",
         "amounts":          {
            "First": 589.48,
            "Second": 1000,
            "Third": 339.48
         }
      },
      "1":       {
         "year": "2",
         "details":          {
            "id": "14899976",
            "anotherId": "11013306"
         },
         "aName": "George",
         "amounts":          {
            "First": 222.22,
            "Second": 2000,
            "Third": 22.22
         }
      },
      "2":       {
         "year": 1,
         "details":          {
            "id": "14899976",
            "anotherId": "11013306"
         },
         "aName": "Albert",
         "amounts":          {
            "First": 333.33,
            "Second": 3000,
            "Third": 33.33
         },
      }
   }
}

我正在使用 Spring RESTTemplate 和 JacksonMapping2HttpMessageConverter,以及以下結構來接收解析上述 JSON 結構的結果:

@JsonIgnoreProperties(ignoreUnknown = true)
public class Response {
  private String            status;
  private String            notes;
  private Map<String,Struct1>   quotes;
}

@JsonIgnoreProperties(ignoreUnknown = true)
 class Struct1 {
    private int         year;
    private Struct2     details;
    private String          aName;
    private Struct3     amounts;
}

@JsonIgnoreProperties(ignoreUnknown = true)
 class Struct2 {
    private String id;
    private String anotherId;
}

@JsonIgnoreProperties(ignoreUnknown = true)
 class Struct3 {
    private float First;
    private float Second;
    private float Third;
 }

所有這些也有適用於所有字段的適當的 setter 和 getter。

我的問題是 Struct3 中的數字值沒有填充。我嘗試將它們設置為 float、Float、String 和 BigDecimal,結果為 null 或 0.0。

我試過在第一個字段的 setter 中放置一個斷點,希望

我錯過了什么? JSON 中的大寫字母是否會導致問題,我是否需要備用字段名稱?

原來是字段名開頭的大寫字母; 我在字段的 getter 之前的行上添加了@JsonProperty("First")類的注釋,並將該字段重命名為first ,現在它可以工作了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM