JavaScript JSON stringify() メソッド

定義と使用法

JSON.stringify() メソッドは、JavaScriptオブジェクトを文字列に変換します。

データをWebサーバーに送信する場合、データは文字列でなければなりません。

例1

JavaScript オブジェクトを文字列化:

var obj = { "name":"Bill", "age":19, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

自分で試してみてください

例 2

使用する置換関数:

/* 「city」の値を大文字にします:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, function (key, value) {
  if (key == "city") {
    return value.toUpperCase();
  } else {
    return value;
  }
});

自分で試してみてください

例 3

使用方法 space パラメータ:

/* 各スペースに 10 つのスペース文字を挿入します:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, 10);

自分で試してみてください

例 4

使用方法 space パラメータ:

/* 各スペースに「SPACE」を挿入します:*/
var obj = { "name":"Bill", "age":"19", "city":"Seattle"};
var text = JSON.stringify(obj, null, "SPACE");

自分で試してみてください

文法

JSON.stringify(obj, replacer, space)

パラメータの値

パラメータ 説明
obj 必須。文字列に変換する値。
replacer

オプション。結果を変換する関数または配列。

このパラメータが関数の場合、シリアライズプロセス中にシリアライズされる値の各属性がその関数の変換と処理を受けます;

このパラメータが配列の場合、配列に含まれている属性名のみが最終的な JSON 文字列にシリアライズされます;

このパラメータが null または提供されていない場合、オブジェクトのすべての属性がシリアライズされます。

space

オプション。文字列または数値の値。出力を美しくするためのインデントに使用される空白文字列を指定します。

このパラメータが数値の場合、それは何個のスペースを表すかです;上限は 10 です。この値が 1 未満の場合、スペースはありません;

このパラメータが文字列である場合(文字列の長さが 10 文字以上の場合は、その前 10 文字を使用)、その文字列はスペースとして扱われます;

このパラメータが提供されていない(または null)場合、スペースはありません。

技術的詳細

返り値: A String
JavaScript バージョン: ECMAScript 5

ブラウザのサポート

このテーブルの数字は、そのメソッドを完全にサポートする最初のブラウザバージョンを示しています。

メソッド Chrome IE Firefox Safari Opera
stringify() 4.0 8.0 3.5 4.0 11.5

関連ページ

JSON 教程:JSON 概要