JsonToKotlinClass

简介:A plugin for Kotlin to convert Json String into Kotlin data class code
能将 Json 数据直接映射生成 Kotlin Data Class 代码,免去手动编写数据对象结构声明
更多:作者   提 Bug   
标签:
kotlin-json-plugin-data class-

GitHub release GitHub stars GitHub issues GitHub closed issues license

Kotlin IntelliJ Idea Plugin Android Studio Plugin

Hi,Welcome to come to see me! I am a plugin for Kotlin generate Kotlin data class code from a JSON string also as say a plugin for Kotlin to convert JSON String into Kotlin data class code (Json to Kotlin)

Overview

Hi,This is a very cool tool for Kotlin developers ,It can convert the Json String into Kotlin Data Class code ,and paste it into your editor file ,The tool could recognize the Primitive Type of Json String and make Type Identifier respectively ,It taste easily ,Just have test,guys! Just press short key ALT + K ,And then,start your Kotlin program travel ! JsonToKotlinClass make program more happy!

Functions

  • Generate Kotlin data class from any legal JSON text.
  • Support JSON Serialize Lib Annotation(Gson,Jackson,Fastjson,MoShi and LoganSquare)
  • Support customize your own Annotation
  • Support init property with default value
  • Support make property type to be nullable(?)

How to use

  • Search 'JsonToKotlinClass' in Intellij Idea Plugin Repositroy Or AndroidStudio Plugin Repository And Install it.
    File --> Settings --> Plugins --> Browse Repositories -->Search JsonToKotlinClass
  • Restart your Develop tools
  • Press short key ALT + K And Then you will know how to use

    Demos

    Default :

    alt text

Configure with Gson support on and init with deault value on and comment off

alt text

Config with custome your own annotations support on and init with deault value on

alt text

Generate Example

  • Example with none json lib support and comment option on

          data class FD(
                  val programmers: List<Programmer>,
                  val authors: List<Author>,
                  val musicians: List<Musician>
          )
    
          data class Musician(
                  val firstName: String, //Eric
                  val lastName: String, //Clapton
                  val instrument: String //guitar
          )
    
          data class Author(
                  val firstName: String, //Isaac
                  val lastName: String, //Asimov
                  val genre: String //science fiction
          )
    
          data class Programmer(
                  val firstName: String, //Brett
                  val lastName: String, //McLaughlin
                  val email: String //aaaa
          )
    
  • Example with gson option on and init with default value option on

    ```kotlin

     data class TestData(
             @SerializedName("ticketInfo") val ticketInfo: TicketInfo = TicketInfo(),
             @SerializedName("trainInfo") val trainInfo: TrainInfo = TrainInfo(),
             @SerializedName("trainScheduleHead") val trainScheduleHead: List<String> = listOf(),
             @SerializedName("extInfo") val extInfo: ExtInfo = ExtInfo(),
             @SerializedName("trainScheduleBody") val trainScheduleBody: List<TrainScheduleBody> = listOf()
     )
    
     data class TrainScheduleBody(
             @SerializedName("mxl") val mxl: Long = 0, //12490639969101
             @SerializedName("content") val content: List<Int> = listOf()
     )
    
     data class TrainInfo(
             @SerializedName("T110") val t110: T110 = T110()
     )
    
```

Chinese Detail Document (中文文档)

Others

  • Welcome anyone to raise new issue.
  • Welcome anyone to push a pull request to improve me.

Thanks

  • Thank @davidbilik give me first awesome advice.
  • Thank @cgoodroe raise many awesome issues for me,Help me improve myself
  • Thank @wangzhenguang remains me the details of problem

Find me useful ? :heart:

  • Support me by clicking the :star: button on the upper right of this page. :v:
  • Spread to others to let more people have a better develope expierience :heart:
随手点击下面广告,支持我维护本站吧
随手点击下面广告支持我免费维护吧
Android 开发经验分享
随手点击下面广告支持本站吧
 
Android 开发经验分享