JSONからオブジェクトに変換するには

Java

import net.sf.json.JSONObject;

String jsonSrc = ...;
JSONObject data = JSONObject.fromObject(jsonSrc);

json-libというサードパーティのライブラリに依存しているので、maven2を使っているなら pom.xml に以下のように書く。

<!-- pom.xml -->
<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.4</version>
    <classifier>jdk15</classifier>
</dependency>

PHP

// JSONからオブジェクトにデコード
$obj = json_decode($json_src);

// JSONから連想配列にデコード
$arr = json_decode($json_src, true);

json_decode 関数 | PHP Manual
http://php.net/manual/ja/function.json-decode.php

要素の最後の余計なカンマがあるとパースできない。

{"a": 1, "b": 2}
// => OK

{"a": 1, "b": 2, }
// => NG

JSONのフォーマットがおかしいなどでデコードできなかった場合は NULL が返される。

Ruby

require 'json'

data = JSON.parse(json_str)

JSON.parse | Ruby 1.9.3 リファレンスマニュアル
http://docs.ruby-lang.org/ja/1.9.3/class/JSON.html#M_PARSE

Perl

use JSON qw/decode_json/;

# JSONからハッシュへのレファレンスにデコード
my $data = decode_json($json_src);

JSON-2.61 | search.cpan.org
http://search.cpan.org/~makamaka/JSON-2.61/lib/JSON.pm

JSONの数値はPerlの文字列としてデコードされてしまい、普通には区別ができないみたいだが、以下のページに紹介されている方法を使えば、区別ができた。

内部的に数値か文字かを判別する
http://anond.hatelabo.jp/20080303125703

JavaScript / CoffeeScript

data = JSON.parse(json_src);
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク