JSON.parse() メソッドは文字列を JSON として解析し、文字列によって記述されている JavaScript の値やオブジェクトを構築します。任意の reviver 関数で、生成されたオブジェクトが返される前に変換を実行することができます。
構文
JSON.parse(text[, reviver]) |
引数
text
JSON として解析する文字列。JSON の構文の説明は JSON オブジェクトを参照してください。
reviver Optional
もし関数である場合、解析により作り出された元の値を、オブジェクトを返す前に変換する方法を指示します。
返値
text として与えられた JSON に相当する Object を返します。
例外
解析する文字列が有効な JSON でない場合、SyntaxError 例外をスローします。
例
JSON.parse() の使用
JSON.parse('{}'); // {} JSON.parse('true'); // true JSON.parse('"foo"'); // "foo" JSON.parse('[1, 5, "false"]'); // [1, 5, "false"] JSON.parse('null'); // null |
reviver 引数の使用
もし reviver が指定されている場合、解析によって計算された値は、オブジェクトを返す前に変換されます。正確に言えば、計算された値とそのすべてのプロパティ(最もネストされたプロパティから始まり、元の値へと進みます)はそれぞれ reviver を通して変換されます。reviver は処理されるプロパティを含むオブジェクトが this として、また文字列のプロパティ名とプロパティの値を引数として呼び出されます。もし reviver 関数が undefined を返したり、何の値も返さなかったり(例えば実行が関数の終わりで【訳注: return 文によってではなくて】終了した場合)した場合、そのプロパティはオブジェクトから削除されます。そうでなければそのプロパティはその戻り値として再定義されます。
もし reviver が一部の値だけを変換して他を変換しないのであれば、必ずすべての変換されない値をそのまま返すようにします。そうしなければ、それらの値は結果のオブジェクトから削除されるでしょう。
JSON.parse('{"p": 5}', (key, value) => typeof value === 'number' ? value * 2 // 数値ならば値の2倍を返す : value // それ以外ならば変更しない ); // { p: 10 } JSON.parse('{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}', (key, value) => { console.log(key); // 現在のプロパティ名を出力する。最後は ""。 return value; // 変更されていないプロパティの値を返す。 }); // 1 // 2 // 4 // 6 // 5 // 3 // "" |
JSON.parse() は末尾のカンマを許容しません
// 両方とも SyntaxError をスローする JSON.parse('[1, 2, 3, 4, ]'); JSON.parse('{"foo" : 1, }'); |
'描く' 카테고리의 다른 글
30分で理解!jQueryのattr()で属性操作を極めるコツ! (0) | 2021.07.06 |
---|---|
【jQuery】imgタグのsrcを書き換えて画像を変更する (0) | 2021.07.06 |
html jade 변환 (0) | 2021.07.06 |
node.js、express、ejsでHello Worldするコード (0) | 2021.07.06 |
これだけ押さえておけばあらゆるAPIを呼び出せる! Google APIを使用するための基本 (0) | 2021.07.05 |
댓글