alibaba / fastjson

FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
https://github.com/alibaba/fastjson2/wiki/fastjson_1_upgrade_cn
Apache License 2.0
25.74k stars 6.5k forks source link

在kotlin中@JSONField注解貌似无效 #1476

Open sd4324530 opened 7 years ago

sd4324530 commented 7 years ago
data class MyData(@JSONField(name = "name")val n : String)
fun main(args: Array<String>) {
    val data = MyData("hello")
    println(JSON.toJSONString(data))
}

这个是我机器上的输出: {"n":"hello"}

fastjson:1.2.38 kotlin:1.1.4-3 jdk8

是不是我的配置不对呢?感觉和wiki上的例子没什么区别啊

sd4324530 commented 7 years ago
data class MyData(@field:JSONField(name = "name")val n : String)

貌似只能这么写field:不能省,但是你们的wiki上貌似是2种写法都可以?

sd4324530 commented 7 years ago

找到原因了,项目里除了要依赖kotlin-stdlib以外,还需要单独依赖kotlin-reflect才能正常使用,希望可以在wiki上说明下这个情况,坑死我了

limuyang2 commented 7 years ago

thank you,After I added this,@jsonfield this can work compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" my kotlin version is 1.1.51