Advertisement
DRVTiny

crystal_json_builder

Apr 18th, 2018
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.74 KB | None | 0 0
  1. require "json"
  2. d = {1 => {"a" => 1, "b" => 2}, 2 => {"a" => 3, "b" => 4}}
  3. class AnyClass
  4.     property color
  5.     property size
  6.     def initialize(@color : String, @size : Int32)  
  7.     end
  8.  
  9.     def to_json (jb : JSON::Builder)
  10.         jb.object do
  11.             jb.field "color", self.color
  12.             jb.field "size", self.size
  13.         end
  14.     end
  15. end
  16.  
  17. s = JSON.build do |j|
  18.     j.object do
  19.         d.each do |k,v|
  20.             j.field k do
  21.                 j.object do
  22.                     j.field "a", v["a"]
  23.                     j.field "b", v["b"]
  24.                 end
  25.             end
  26.         end
  27.     end
  28. end
  29.  
  30. puts "manually: " + s
  31.  
  32. inst = AnyClass.new("red", 42)
  33.  
  34. h = {"my_object" => inst}
  35.  
  36. puts "to_json: " + h.to_json
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement