jQuery.parseJSON(json)


version 1.4.1 以降

解説

JSON形式の文字列を、JavaScript オブジェクトに変換します。

この関数は、厳密なJSON形式の文字列を渡さない場合は、正しく変換しません。

例えば、次の文字列は正しいJSON形式ではありません。
{key: "value"}キーが文字列ではない。
{'key': "value"}キーの文字列が「"」ダブルクォートで囲まれていない。(JSONにおける文字列は、「"」ダブルクォートで囲まれてなければならない。)
※ JSON の仕様については、JSON を参照してください。

なお、引数に null、undefined、JSON文字列以外のオブジェクトを指定した場合は null を返します。

引数

  • json
    String: JSON形式の文字列

戻り値

  • Boolean: JavaScript オブジェクト。引数に null、undefined、JSON文字列以外のオブジェクトを指定した場合は null

例1:様々な引数を指定し、結果を確認します。

// 検証する文字列
var strings = [
    '{"key": 1}',
    '{key: 1}',
    'test'
];

var i = 0;
$.each(strings, function(key, value) {
    var res = null;
    try {
        res = $.parseJSON(value);    // $.parseJSON() で変換
    } catch(e) {
    }

    // 変換できた場合は、$.param() でシリアライズした文字列を表示。
    // 変換できない合は、"null" を表示。
    $("#test_result table tr").eq(i++)
        .append($("<td>", {css: { "fontWeight": res == null ? "normal" : "bold" }})
        .text(res == null ? "null" : $.param(res)));
});

$.parseJSON('{"key": 1}')
$.parseJSON('{key: 1}')
$.parseJSON('test')