使用Kotlin中的动态字段解析json对象
我有一个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引导自动将提到的JSON映射到下面的模型bean:
data class SmsDto( var mobileNum: String? = null, val appId: String? = null, val messageId: String? = null, var paramMap: Map? = null, var shouldSendDate: Timestamp? = null, var filters: Map? = defaultFilters )
正如你所看到的,我遇到的问题是filters
字段,这是一个String
,但可能包含另一个JSON对象。 所以我用一个懒惰的解决方案逃脱内部的JSON双引号,然后解析它自己。
有没有一个更标准的解决方案,将允许我发送适当的内部JSON对象?
Spring Boot似乎在使用Jackson库来处理您的数据类和json格式。 您可以使用另一个数据类作为filters
types的字段。
data class SmsDto( var mobileNum: String? = null, val appId: String? = null, val messageId: String? = null, var paramMap: Map? = null, var shouldSendDate: Timestamp? = null, var filters: SmsFiltersDto? = defaultFilters ) data class SmsFiltersDto( var yourField: Boolean = false, ... )
- 致命exception:与Klaxon json Kotlin库的java.lang.RuntimeException
- 有没有干净的干净的方式来从HTTP请求JSON更新多个textViews?
- 从JSONArray获取元素时请保留双引号
- 从JSON文件中获取数据
- 我怎样才能使用Parse LiveQuery的Android自动添加新的对象到我的RecyclerAdapter?
- Weather Underground API正在返回带有格式化字符(大量\ n \ t等)的JSON。 有没有办法从他们得到未格式化的JSON?
- 嘲笑嵌套的服务器响应
- 在tornadofx中使用localdatetime和其余的springboot
- 如何在Kotlin中解析JSON?