Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. import play.api.libs.json._
  2. import play.api.libs.functional.syntax._
  3.  
  4. case class Large(
  5. a: Int,
  6. b: Int,
  7. c: Int,
  8. d: Int,
  9. e: Int,
  10. f: Int,
  11. g: Int,
  12. h: Int,
  13. i: Int,
  14. j: Int,
  15. k: Int,
  16. l: Int,
  17. m: Int,
  18. n: Int,
  19. o: Int,
  20. p: Int,
  21. q: Int,
  22. r: Int,
  23. s: Int,
  24. t: Int,
  25. u: Int,
  26. v: Int,
  27. w: Int,
  28. x: Int,
  29. y: Int,
  30. z: Int
  31. )
  32.  
  33. implicit val largeReader: Reads[Large] = {
  34. val aToMReads: Reads[Tuple13[Int, Int, Int,Int,Int,Int,Int,Int,Int,Int,Int,Int,Int]] = {
  35. (JsPath \ "a").read[Int] and
  36. (JsPath \ "b").read[Int] and
  37. (JsPath \ "c").read[Int] and
  38. (JsPath \ "d").read[Int] and
  39. (JsPath \ "e").read[Int] and
  40. (JsPath \ "f").read[Int] and
  41. (JsPath \ "g").read[Int] and
  42. (JsPath \ "h").read[Int] and
  43. (JsPath \ "i").read[Int] and
  44. (JsPath \ "j").read[Int] and
  45. (JsPath \ "k").read[Int] and
  46. (JsPath \ "l").read[Int] and
  47. (JsPath \ "m").read[Int]
  48. }.apply(Tuple13.apply[Int, Int, Int,Int,Int,Int,Int,Int,Int,Int,Int,Int,Int] _)
  49.  
  50. val nToZReads: Reads[Tuple13[Int, Int, Int,Int,Int,Int,Int,Int,Int,Int,Int,Int,Int]] = {
  51. (JsPath \ "n").read[Int] and
  52. (JsPath \ "o").read[Int] and
  53. (JsPath \ "p").read[Int] and
  54. (JsPath \ "q").read[Int] and
  55. (JsPath \ "r").read[Int] and
  56. (JsPath \ "s").read[Int] and
  57. (JsPath \ "t").read[Int] and
  58. (JsPath \ "u").read[Int] and
  59. (JsPath \ "v").read[Int] and
  60. (JsPath \ "w").read[Int] and
  61. (JsPath \ "x").read[Int] and
  62. (JsPath \ "y").read[Int] and
  63. (JsPath \ "z").read[Int]
  64. }.apply(Tuple13.apply[Int, Int, Int,Int,Int,Int,Int,Int,Int,Int,Int,Int,Int] _)
  65.  
  66. (aToMReads and nToZReads)( (aToM, nToZ) =>
  67. Large(
  68. aToM._1,
  69. aToM._2,
  70. aToM._3,
  71. aToM._4,
  72. aToM._5,
  73. aToM._6,
  74. aToM._7,
  75. aToM._8,
  76. aToM._9,
  77. aToM._10,
  78. aToM._11,
  79. aToM._12,
  80. aToM._13,
  81. nToZ._1,
  82. nToZ._2,
  83. nToZ._3,
  84. nToZ._4,
  85. nToZ._5,
  86. nToZ._6,
  87. nToZ._7,
  88. nToZ._8,
  89. nToZ._9,
  90. nToZ._10,
  91. nToZ._11,
  92. nToZ._12,
  93. nToZ._13
  94. )
  95. )
  96. }
  97.  
  98.  
  99. val s = """{"a": 0,"b": 1,"c": 2,"d": 3,"e": 4,"f": 5,"g": 6,"h": 7,"i": 8,"j": 9,"k": 10,"l": 11,"m": 12,"n": 13,"o": 14,"p": 15,"q": 16,"r": 17,"s": 18,"t": 19,"u": 20,"v": 21,"w": 22,"x": 23,"y": 24,"z": 25}"""
  100.  
  101. scala> Json.parse(s).as[Large]
  102. //Large(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement