Mach3.laBlog

様々な言葉でJSONを弄ってみるメモ

この記事は賞味期限切れです。(更新から1年が経過しています)

引き続きJSONのお話ですが、
連携に向いているフォーマットだ、という事はつまり
他の言語でを扱う方法を知っておかねばならないという事。
という訳で、軽くメモっておきます。

次のようなJSONフォーマットの文字列が
str」に格納されていると想定します。

{
    "status" : "success",
    "content" : [
        { "id" : 1 , "message" : "Nice to meet you, world !" },
        { "id" : 2 , "message" : "Hello, world !" },
        { "id" : 3 , "message" : "Hello again, world !" }
    ]
}

この文字列をオブジェクトとしてロードし、
それをもう一度JSON文字列として出力するテストです。

PHP

$php_obj = json_decode( $str ); // JSONからPHPオブジェクトを生成
$json_string = json_encode( $php_obj ); // PHPオブジェクトからJSONを生成

さすが関数から生まれてきたような言語のPHP。
JSONだって関数一発です。

Ruby

Rubyは1.9からjsonライブラリが標準搭載されているそうです。
当方の環境も1.9だったのでそのままそれを利用させて頂きます。

library json

require "json" # jsonライブラリが必要
ruby_obj = JSON.load( str ) # JSONからRubyオブジェクトを生成
json_string = JSON.generate( ruby_obj ) # RubyオブジェクトからJSONを生成

1.9未満だと他のライブラリに依存する事になります。
面倒なので(!?)ここでは割愛。

ActionScript3

AS3はJSONのパーサが標準装備されていないので、
as3corelibを使わせていただきます。

mikechambers’s as3corelib at master – GitHub

import com.adobe.serialization.json.JSON; // as3corelibからインポート

// 中略

var as3_obj:Object = JSON.decode( str ); // JSONからAS3オブジェクトを生成
var json_string:String = JSON.encode( as3_obj ); // AS3オブジェクトからJSONを生成

AS3というとXMLと相性も良いのでそちらをチョイスする事が多かったですが、
データ量によっては帯域節約の為にJSONを使うのも大いにありですね。その後も楽ですし。


XMLとかYAMLとか色々ありますが、JavaScriptの隆盛もあって
最近はJSONフォーマットがもてはやされている感じですね。
学習コストも極めて少なくて済むので、今後とも重宝されそうです。

コメント

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*