HOME

{ JSON, Object データ を 配列 ( Array ) へ変換 }

{ svg, javascript で作成したプログラム一覧 }

推奨 ブラウザ : chrome

JSON, Object データを配列( Array )へ変換
{ CSV データ }

取得 key

{ 実行結果 }

hoge.getJSONArray(true) の第一引数に true 指定で key 名取得。hoge.getJSONArray(true,"hoge") の第二引数に文字指定で key の値が文字の配列を返します。

今回は、JSON データ、Object データの 配列 ( Array ) 変換に挑戦してみました。
最初は、 Object データを階層のない配列へ変換、
次に、 階層付の配列で出力するプログラムを作成。
Object の値を取り出すのに for in, や forEach を使用したのですが、
Object が DOM 要素の場合、無限ループになる事があり、
ブラウザがクラッシュ、したり、警告が出たりしました。
なので、 Object が DOM 要素の場合は処理しないようにしています。
DOM 要素の 判定には、 instanceof を使用しています。
これは、 typeof より、細かな判定が出来るようです。
確認しただけでも、 DOM Object には、 6 つの種類がありました。
判定に加えていない種類があれば、エラーが出ると思います。ヽ(´ー`)ノ

プログラムは、 JSON 形式のテキストデータを
テキストエリアに貼り付け、取得ボタンクリックで実行します。
結果は、コンソールに出力されます。
JSON 形式でない場合、エラーが出力されると思います。
コンソールは、 F12 キーを押せば確認出来ます。

Object 形式のデータ処理も eval() や new Function を使用すれば、出来るのですが、
こちらの記事 → "必要以上に eval を使わないで!" を見て諦めました。
ローカル環境では、 Object 形のデータ処理も出来ると思います。

getJSONArray() 関数を実行すると、Object を Array 配列へ変換します。
第一引数, true で object のキャプション?を追加します。 obj.getJSONArray(true);
第二引数に文字指定で、文字と同じ key の値を抽出して配列で返します。 obj.getJSONArray(true,"hoge");
getJSONArray() 関数の戻り値は、 Array 配列です。
0 番から 2 番まであり、次のようになっています。
戻り値の配列の 0 番に階層のない配列、Object が階層構造場合、
戻り値の配列の 1 番に階層構造の配列、
戻り値の配列の 2 番に第二引数に指定した key を持つ値を抽出して、配列にして返します。
JSON, Object, Array 配列を処理できると思います。
Object 値が 空, null, false の場合、 Array 配列に格納されない、を修正しました。 _(:3」∠)_

数学の勉強をやり直ししてたりします。_´ω`)_