如何在Kotlin中使用Jackson将字符串转换为映射

时间:2019-09-20 12:17:44

标签: jackson

我要获取这个json数据

{
    "2019-09-01": {
        "isBusinessDay": true,
        "hasBusinessDays": true,
        "isSaleDay": true,
        "stock": 1920,
        "bookingCount": 0,
        "todayDealRate": 0.0,
        "minBookingCount": 1,
        "maxBookingCount": 1,
        "startTime": null,
        "endTime": null,
        "prices": [
            {
                "isDefault": true,
                "priceId": 0,
                "name": "",
                "price": 5000,
                "order": 1,
                "isImp": true
            }
        ]
    },
    "2019-09-02": {
        "isBusinessDay": true,
        "hasBusinessDays": true,
        "isSaleDay": true,
        "stock": 1920,
        "bookingCount": 0,
        "todayDealRate": 0.0,
        "minBookingCount": 1,
        "maxBookingCount": 1,
        "startTime": null,
        "endTime": null,
        "prices": [
            {
                "isDefault": true,
                "priceId": 0,
                "name": "",
                "price": 5000,
                "order": 1,
                "isImp": true
            }
        ]
    },
    ...
    ...
    ...
}

我上了两节课,

一个是

data class DailySchedule (
        val isBusinessDay: Boolean,
        val hasBusinessDays: Boolean,
        val isSaleDay : Boolean,
        val stock: Long
)

另一个是

data class DailyScheduleMap(
        val data:HashMap<String,DailySchedule>
)

主要功能是

fun main
    val obj = mapper.readValue(body, DailyScheduleMap::class.java)

    for((key,value) in obj.data)
    {
        println("$key ${value.stock}")
    }

body是json字符串。

但是效果不好。

我想将json数据保存到Kotlin中的类中。

如何将json数据保存到地图中?

我还有一个问题,

我只想从这些数据中获取所需的数据。

例如,

"2019-09-01": {
        "isBusinessDay": true,
        "hasBusinessDays": true,
        "isSaleDay": true,
        "stock": 1920,
        "bookingCount": 0,
        "todayDealRate": 0.0,
        "minBookingCount": 1,
        "maxBookingCount": 1,
        "startTime": null,
        "endTime": null,
        "prices": [
            {
                "isDefault": true,
                "priceId": 0,
                "name": "",
                "price": 5000,
                "order": 1,
                "isImp": true
            }
        ]
    }

在这些数据中,

        val isBusinessDay: Boolean,
        val hasBusinessDays: Boolean,
        val isSaleDay : Boolean,
        val stock: Long

这就是我在这些数据中所需要的。

可以声明所需的数据吗?

我想知道是不是全部,还是我需要做的其他事情。

总是谢谢!

0 个答案:

没有答案