Jackson简单使用
添加依赖
implementation('com.fasterxml.jackson.core:jackson-core:2.11.1')
implementation('com.fasterxml.jackson.core:jackson-annotations:2.11.1')
implementation('com.fasterxml.jackson.core:jackson-databind:2.11.1')
基础用法
Json To Bean
json字符串如下:
{
"id": 1,
"name": "Ethan",
"array": [
"1",
"2"
]
}
数据类
data class TestBean(
@JsonProperty("array")
val array: List<String>,
@JsonProperty("id")
val id: Int,
@JsonProperty("name")
val name: String
)
转换方法
val mapper = ObjectMapper()
val testBean= mapper.readValue(s,TestBean::class.java)
logger.info("LOG:ScrollingActivity:testJackson:testBean={} ", testBean)
输出结果:
I/ScrollingActivity: LOG:ScrollingActivity:testJackson:student=Student(array=[1, 2], id=1, name=Ethan)
Bean To Json
val testBean= TestBean(listOf("11111","11122"),5,"Ethan")
val testJson= mapper.writeValueAsString(testBean)
logger.info("LOG:ScrollingActivity:testJackson:testJson={} ", testJson)
输出结果:
2021-02-02 11:28:17.214 17332-17332/com.ethan.googledemo I/ScrollingActivity: LOG:ScrollingActivity:testJackson:student={"array":["11111","11122"],"id":5,"name":"Ethan"}
混淆
-keepattributes Signature
-keepattributes *Annotation*
-keep class sun.misc.Unsafe { *; }
完事。。