JSON
先日、JSONを扱う機会がありました。 復習も兼ねて定義及びRubyのコード例を元に頭の整理をしていきます。
JSONとは
まず、恒例の「定義通り」の説明をします。 JSONとはJavaScript Object Notationの略です。 テキストベースのデータフォーマットで 多くのプログラム言語でカバーされているため、 ブラウザ(JS)−サーバー(PHP、Pythonなど)間でのデータ交換において 使われ、記述が容易(後述)なのでメジャーなデータ・フォーマットです。
表記方法
方法は2つあります。
1つ目が「配列型」 JSON例①
["python", "Ruby", "HTML"]
2つ目が「オブジェクト型」 JSON例②
{"gsacademy":"プログラミング学校","プログラミング経験": "ruby"}
またオブジェクト型の中に配列を入れ子にするとことも出来ます。 ここでは紹介しませんが逆も行えます。ここでは「入れ子型」 とでも名づけておきます。
JSON例③ 「入れ子型」
{"gsacademy":"プログラミング学校","学生番号":"18", "プログラム経験":[{"Ruby":"1ヶ月"},{"Python":"3ヶ月"}]}
JSONに入れられる値の型はboolean,string,number等が入るので特に意識せず使えそうです。
使用方法
一般的なサーバー言語ではJSONフォーマットのまま、使用 出来ないため、一回各言語のフォーマット形式に合わせた配列、連想配列へ変換して使用します。
JSON例
JSONデータをRuby用に変換(パースと呼ぶ)を行うには JSONモジュールにある parse (もしくは load ) を用います。
require 'json' data_json = '{"gsacademy":"プログラミング学校","プログラム経験":"ruby"}' #オブジェクト型 data_json2 = '["gsacademy","学生番号","プログラム経験","ruby"]' #配列型 #入れ子型 data_json3 = '{"gsacademy":"プログラミング学校","学生番号":"18", "プログラム経験":[{"Ruby":"1ヶ月"},{"Python":"3ヶ月"}], "好きなFW":[{"Ruby":"SinatraとRailsしか知りません。。。"},{"Javascript":"riot"}]}' print data1["gsacademy"].to_s + "\n" #出力->プログラミング学校 print data2[3] + "\n" #出力->ruby print data3["好きなFW"][0]["Ruby"] #出力-> SinatraとRailsしか知りません。。。
Python
ptyhonの例は以下となります。
Pythonも勉強しよー
では。