json 文字列を eval 関数(セキュリティリスクあり)を使ってオブジェクトへ変換

JSON

 閲覧数:557  投稿日:2018-07-13  更新日:2018-07-13  

json 文字列を eval 関数(セキュリティリスクあり)を使ってオブジェクトへ変換


コード

let str = '{"ary":[0,1,2],"obj1":{"a":3,"b":4,"c":5}}';//JSON文字列
//let str = '{ary:[0,1,2],obj1:{"a":0,"b":1,"c":2}}';//JSON文字列ではない。evalしても、JavaScriptオブジェクトとして、アクセスできない
//let str = {"ary":[0,1,2],"obj1":{"a":0,"b":1,"c":2}};//JavaScriptオブジェクト。evalするとエラー
//let str = {ary:[0,1,2],obj1:{"a":0,"b":1,"c":2}};//JavaScriptオブジェクト。evalするとエラー
let obj;

eval("obj = " + str);//obj=eval( '(' + str + ')' );でもO.K.

console.log(str); //{"ary":[0,1,2],"obj1":{"a":3,"b":4,"c":5}}
console.log(obj); //{ary: Array(3), obj1: {…}}
console.log(str.ary);//undefined。JSON文字列へはアクセス不可
console.log(obj.ary); //[0, 1, 2]
console.log(obj.ary[1]); //1
console.log(obj.obj1); //{a: 3, b: 4, c: 5}
console.log(obj.obj1.a); //3
console.log(obj.obj1.b); //4



結果

{"ary":[0,1,2],"obj1":{"a":3,"b":4,"c":5}}
{ary: Array(3), obj1: {…}}
undefined
[0, 1, 2]
1
{a: 3, b: 4, c: 5}
3
4



タグ


eval 



json 文字列を JSON.parse() メソッド(推奨)を使ってオブジェクトへ変換



類似度ページランキング
順位 ページタイトル抜粋
1 json 文字列を eval 関数(セキュリティリスクあり)を使ってオブジェクトへ変換 88
2 json 文字列を JSON.parse() メソッド(推奨)を使ってオブジェクトへ変換 57
3 オブジェクトのキーとして、変数の値を使用 38
4 オブジェクトから JSON へ変換。JSON.stringify() メソッドを利用 35
5 検索文字列を使用して文字列内のテキストを置換 34
6 現在日時を、dateオブジェクトとして取得 31
7 オブジェクトを生成し、アクセス 31
8 配列をネストしたオブジェクトを生成し、アクセス 30
9 オブジェクトのキーとして、配列からランダムな値を取得して使用 30
10 オブジェクトの要素数を数える 28
11 文字列内のテキストを正規表現で置換。その際、エスケープ使用 28
12 オブジェクト内配列より、重複しない値を取得して、新たな配列を生成 27
13 テーブルタグと内容を作成して追加 / insertRow 25
14 配列を、アルファベット順(文字コード順)に並べ替え 21
15 テーブルタグと内容を作成して追加 / for 18
16 文字列を、指定した区切り文字で分割し、配列へ格納 18
17 桁数規則に沿った数値文字列を、正規表現で年月日表示 18
18 配列生成後、全ての中身を順番に、別の関数へ引数として渡す 17
19 jQueryセレクタ 15
20 _以降の文字列を取得 15
2025/4/30 15:18 更新