Advertisement
Guest User

json kotlin

a guest
Feb 2nd, 2017
3,645
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.65 KB | None | 0 0
  1. package util
  2.  
  3. import com.fasterxml.jackson.databind.DeserializationFeature
  4. import com.fasterxml.jackson.module.kotlin.*
  5. import java.io.File
  6.  
  7. data class SkillTreeData( val characterData: Map<String, CharacterData>, val groups: Map<String, Group>, val root: Root,
  8.                           val nodes: List<Node>, val extraImages: Map<String, ExtraImage>, val min_x: Double,
  9.                           val min_y: Double, val max_x: Double, val max_y: Double,
  10.                           val assets: Map<String, Map<String, String>>, val constants: Constants, val imageRoot: String,
  11.                           val skillSprites: SkillSprites, val imageZoomLevels: List<Int> )
  12.  
  13.  
  14. data class CharacterData( val base_str: Int, val base_dex: Int, val base_int: Int )
  15.  
  16. data class Group( val x: Double, val y: Double, val oo: Map<String, Boolean>?, val n: List<Int> )
  17.  
  18. data class Root( val g: Int, val o: Int, val oidx: Int, val sa: Int, val da: Int, val ia: Int, val out: List<Int> )
  19.  
  20. data class Node( val id: Int, val icon: String, val ks: Boolean, val not: Boolean, val dn: String, val m: Boolean,
  21.                  val isJewelSocket: Boolean, val isMultipleChoice: Boolean, val isMultipleChoiceOption: Boolean,
  22.                  val passivePointsGranted: Int, val flavourText: List<String>?, val ascendancyName: String?,
  23.                  val isAscendancyStart: Boolean?, val reminderText: List<String>?, val spc: List<Int>, val sd: List<String>,
  24.                  val g: Int, val o: Int, val oidx: Int, val sa: Int, val da: Int, val ia: Int, val out: List<Int> )
  25.  
  26. data class ExtraImage( val x: Double, val y: Double, val image: String )
  27.  
  28. data class Constants( val classes: Map<String, Int>, val characterAttributes: Map<String, Int>,
  29.                       val PSSCentreInnerRadius: Int )
  30.  
  31. data class SubSpriteCoords( val x: Int, val y: Int, val w: Int, val h: Int )
  32.  
  33. data class Sprite( val filename: String, val coords: Map<String, SubSpriteCoords> )
  34.  
  35. data class SkillSprites( val normalActive: List<Sprite>, val notableActive: List<Sprite>,
  36.                          val keystoneActive: List<Sprite>, val normalInactive: List<Sprite>,
  37.                          val notableInactive: List<Sprite>, val keystoneInactive: List<Sprite>,
  38.                          val mastery: List<Sprite> )
  39.  
  40. private fun convert( jsonFile: File ) {
  41.     val mapper = jacksonObjectMapper()
  42.     mapper.configure( DeserializationFeature.ACCEPT_EMPTY_ARRAY_AS_NULL_OBJECT, true )
  43.  
  44.     val skillTreeData = mapper.readValue<SkillTreeData>( jsonFile )
  45.     println("Conversion finished !")
  46. }
  47.  
  48. fun main( args : Array<String> ) {
  49.     val jsonFile: File = File( """rawSkilltree.json""" )
  50.     convert( jsonFile )
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement