JavaScript学習ノート20:標準対象-JSON
6887 ワード
JavaScriptチュートリアル転送ゲート
JSONは実際にJavaScriptのサブセットです.JSONでは、このようなデータ型がいくつかあります. number:JavaScriptの boolean:JavaScriptの string:JavaScriptの null:JavaScriptの array:JavaScriptの object:JavaScriptの
シーケンス化
出力をフォーマット(インデント)するには、次の手順に従います.
2番目のパラメータは、
オブジェクトの各キー値ペアが関数によって先に処理されるように、関数を入力することもできます.
逆シーケンス化
データ構造
JSONの基礎データ構造は2種類しかありません.
JSONデータの表現形式は以上の2種類のデータ構造とそれらの任意の組み合わせをサポートすることができ、配列にはオブジェクトを含めることができ、オブジェクトには配列を含めることができ、使用上非常に柔軟である.
JSONは実際にJavaScriptのサブセットです.JSONでは、このようなデータ型がいくつかあります.
number
と完全に一致します.true
またはfalse
です.string
です.null
です.Array
表現--[]
;{ ... }
表現です.シーケンス化
var xiaoming = {
name: ' ',
age: 14,
gender: true,
height: 1.65,
grade: null,
'middle-school': '\"W3C\" Middle School',
skills: ['JavaScript', 'Java', 'Python', 'Lisp']
};
JSON.stringify(xiaoming); // '{"name":" ","age":14,"gender":true,"height":1.65,"grade":null,"middle-school":"\"W3C\" Middle School","skills":["JavaScript","Java","Python","Lisp"]}'
出力をフォーマット(インデント)するには、次の手順に従います.
JSON.stringify(xiaoming, null, ' ');
//
{
"name": " ",
"age": 14,
"gender": true,
"height": 1.65,
"grade": null,
"middle-school": "\"W3C\" Middle School",
"skills": [
"JavaScript",
"Java",
"Python",
"Lisp"
]
}
2番目のパラメータは、
Array
に入力して、オブジェクトのキー値をフィルタする方法を制御することができる.JSON.stringify(xiaoming, ['name', 'skills'], ' ');
//
{
"name": " ",
"skills": [
"JavaScript",
"Java",
"Python",
"Lisp"
]
}
オブジェクトの各キー値ペアが関数によって先に処理されるように、関数を入力することもできます.
function convert(key, value) {
if (typeof value === 'string') {
return value.toUpperCase();
}
return value;
}
JSON.stringify(xiaoming, convert, ' ');
//
{
"name": " ",
"age": 14,
"gender": true,
"height": 1.65,
"grade": null,
"middle-school": "\"W3C\" MIDDLE SCHOOL",
"skills": [
"JAVASCRIPT",
"JAVA",
"PYTHON",
"LISP"
]
}
逆シーケンス化
JSON.parse()
でJavaScriptオブジェクトに直接変更します.JSON.parse('[1,2,3,true]'); // [1, 2, 3, true]
JSON.parse('{"name":" ","age":14}'); // Object {name: ' ', age: 14}
JSON.parse('true'); // true
JSON.parse('123.45'); // 123.45
JSON.parse()
は、解析された属性を変換するための関数を受信することもできる.JSON.parse('{"name":" ","age":14}', function (key, value) {
// number * 2:
if (key === 'name') {
return value + ' ';
}
return value;
}); // Object {name: ' ', age: 14}
データ構造
JSONの基礎データ構造は2種類しかありません.
[]
表示配列{}
表示対象JSONデータの表現形式は以上の2種類のデータ構造とそれらの任意の組み合わせをサポートすることができ、配列にはオブジェクトを含めることができ、オブジェクトには配列を含めることができ、使用上非常に柔軟である.