【发布时间】:2018-05-07 06:05:17
【问题描述】:
我有一个 JSON 对象:
{
"mobileNum": "05x-xxxxxxx",
"appId": "some_app",
"messageId": "printUsersFirstTime",
"shouldSendDate": "2017-10-03T16:20+03:00", // this is optional
"paramMap": { "userName": "some_name" },
"filters": { "UNIQUE": false, "RECENT": "{ \"unit\": \"MINUTE\", \"size\": 5 }"
}
我使用 Spring Boot 和 Kotlin。 Spring boot 自动将提到的 JSON 映射到以下模型 bean:
data class SmsDto(
var mobileNum: String? = null,
val appId: String? = null,
val messageId: String? = null,
var paramMap: Map<String, String>? = null,
var shouldSendDate: Timestamp? = null,
var filters: Map<String, String>? = defaultFilters
)
如您所见,我遇到的问题是 filters 字段,它是一个 String,但可能包含另一个 JSON 对象。所以我使用了一种懒惰的解决方案,将内部的JSON双引号转义,然后自己解析。
是否有更标准的解决方案可以让我发送正确的内部 JSON 对象?
【问题讨论】:
标签: json spring-boot kotlin