簡體   English   中英

復雜的JSON到pojo

[英]complicated json to pojo

您能幫我為json這樣設計pojo類,將屬性用作值嗎?

{"1":
    {
    "12.08.2014":
        {"start_time":"09:00","end_time":"11:00"},
    "15.08.2014":
        {"start_time":"09:00","end_time":"11:00"},
    }
,
"2":
    {
    "25.08.2014":
        {"start_time":"09:00","end_time":"11:00"},
    "27.08.2014":
        {"start_time":"09:00","end_time":"11:00"},
    "29.08.2014":
        {"start_time":"09:00","end_time":"11:00"}
    }
}

我想要這樣的東西

class POJO {
    class Schedule{
        @JsonProperty("start_time")
        String startTime;
        @JsonProperty("end_time")
        String endTime;

        @JSON???????
        String date;
    }
    @?????????
    List<Schedule> scheduleList;
}

您可以將其保留為地圖地圖。 以及內部時間詳細信息作為自定義對象。 因此最終結果將類似於Map<String, Map<String, Time>> 然后,您可以使用GsonJackson的json解析器來解析值。 例如

傑克遜風格

public class Time {
    @JsonProperty(value="start_time")
    private String startTime;
    @JsonProperty(value="end_time")
    private String endTime;

    // Getter Setter
}

ObjectMapper mapper = new ObjectMapper();
Map<String, Map<String, Time>> data = mapper.readValue(json, new TypeReference<Map<String, Map<String, Time>>>() {});

格森風格

class Time {
    @SerializedName(value="start_time")
    private String startTime;
    @SerializedName(value="end_time")
    private String endTime;

    // Getters Setters
}

Gson gson = new Gson();
Map<String, Map<String, Time>> data = gson.fromJson(json, new TypeToken<Map<String, Map<String, Time>>>() {}.getType());

您可以嘗試如下操作:

class MyItem{
    String id;
    List<MyEvent> events;
}

class MyEvent{
    Date eventDate;
    int startTime;
    int endTime;
}

當然,您需要編寫一個解析器。

暫無
暫無

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

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