JSON は JavaScript Object Notation の略なので、その操作はお手の物・・・でもない。 もう、JSON というのは異なるシステム間での構造化データのデファクトスタンダードとなってしまっていて、JavaScript の Object とは全然別物のデータ形式の一種と思ったほうがよい。
JS の文法よりも JSON の文法はキツイので、JS のオブジェクト表記をそのままもってきても使えなかったりする。
以前は eval メソッドを使って文字通り JavaScript Object として解釈された結果を受け取っていたが、 eval は危険なので現在では JSON をObject化する専用のメソッドがあるのでそれを使う
let obj = JSON.parse('{"aaa": 123, "bbb": 456}'); console.log(obj.aaa); // => 123
別の機能としてこの parse メソッドは第二引数に2つの引数を取る関数を取ることができる。
let obj = JSON.parse('{"aaa": 123, "bbb": 456}', (key, value)=>{ return value + 1; }); console.log(obj.aaa); // => 124
この関数は JSON中 の key と Value を読み取る毎に呼び出されて、この関数の return がその key に対する value として Object 化される。undef を return したり return しなかったりすると、その key が Object から消滅する。
どういう場合に使われるんだろうかこれは。