&tag(Ruby/JSON); *目次 [#d7763950] #contents *参考情報 [#jd18e647] -[[メモ: Ruby で JSON のパース/シリアライズ | anobota:http://haraita9283.blog98.fc2.com/blog-entry-364.html]] *概要 [#le519f9c] -ruby 1.9ではJSON標準添付。 -[[module JSON:http://docs.ruby-lang.org/ja/2.1.0/class/JSON.html]] -simple-json-parser-builderは日本語がそのまま読める形で表示される。 *簡単な使い方 [#w0f84aff] -Ruby 2.1.2を使用 #pre{{ require 'json' json_data = JSON.parse('[1, 2, 3]') p json_data json_data = JSON.parse('{"foo": "bar"}') p json_data json_data = JSON.parse('[1, 2, 3, {"foo": "bar"}]') p json_data str = JSON.pretty_generate(json_data) puts str }} -以下出力。 #pre{{ [1, 2, 3] {"foo"=>"bar"} [1, 2, 3, {"foo"=>"bar"}] [ 1, 2, 3, { "foo": "bar" } ] }} *Tips [#w1c2aab2] **改行コードが入っていたらどうする [#e2a94b4e] -[[javascript - Parsing JSON containing new line characters - Stack Overflow:http://stackoverflow.com/questions/11591784/parsing-json-containing-new-line-characters]]にあるようにエスケープする obj = JSON.parse('{"hallo":"line1\\r\\nline2","a":[5.5,5.6,5.7]}'); -もしくは[[javascript - Parsing JS JSON to Ruby - Stack Overflow:http://stackoverflow.com/questions/17239567/parsing-js-json-to-ruby/17240841#17240841]]にあるように単に削除する。 a = input.gsub( /[\r\n]/m, '' )