サーバー側以下の配列の値を返す処理を作成しました。


たとえば以下のような値を返すものです。
['key', 'value', { role: 'style' }],['0', 0, 'color: gray'],['1', 2, 'color: gray']

このデータをjsで配列として認識させたいのですが、
その方法を教えていただきたいです。

どうぞよろしくお願い致します!!!

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/03/22 18:41:25
  • 終了:2014/03/29 18:45:04

ベストアンサー

id:a-kuma3 No.2

a-kuma3回答回数4366ベストアンサー獲得回数18022014/03/25 15:39:58

ポイント50pt

こういうことが、やりたいんでしょうか?

    // 元の文字列
    var s = "['key', 'value', { role: 'style' }],['0', 0, 'color: gray'],['1', 2, 'color: gray']";

    // 大かっこでくくって配列の表現にして、eval 関数を使って「式」として評価する
    var a = eval("[" + s + "]");

    console.log(a[0][0]);           // 'key'
    console.log(a[0][1]);           // 'value'
    console.log(a[0][2].role);      // 'style'
    console.log(a[1][0]);           // '0'
    console.log(a[1][1]);           // 0
    console.log(a[1][2]);           // 'color: gray'
    console.log(a[2][0]);           // '1'
    console.log(a[2][1]);           // 2
    console.log(a[2][2]);           // 'color: gray'



【追記】
あ、結構、大幅に質問文を変えていたのですね。
上記のコードで、eval() が返した配列を、google.visualization.arrayToDataTable() に渡せば良いと思います。

id:yayayai

ご丁寧にありがとうございます!!!
おかげさまで解決しました!

2014/03/30 16:48:53

その他の回答(1件)

id:snow0214 No.1

snow0214回答回数470ベストアンサー獲得回数1162014/03/22 19:13:59

ポイント50pt

どんなstringをgetするのかわかりませんが
たとえばカンマ区切りCSVを配列にするなら下のサイトのソースが参考になると想います。
http://www.nishishi.com/javascript/2009/split-comma.html

id:yayayai

質問文を編集しました。詳細はこちら

id:a-kuma3 No.2

a-kuma3回答回数4366ベストアンサー獲得回数18022014/03/25 15:39:58ここでベストアンサー

ポイント50pt

こういうことが、やりたいんでしょうか?

    // 元の文字列
    var s = "['key', 'value', { role: 'style' }],['0', 0, 'color: gray'],['1', 2, 'color: gray']";

    // 大かっこでくくって配列の表現にして、eval 関数を使って「式」として評価する
    var a = eval("[" + s + "]");

    console.log(a[0][0]);           // 'key'
    console.log(a[0][1]);           // 'value'
    console.log(a[0][2].role);      // 'style'
    console.log(a[1][0]);           // '0'
    console.log(a[1][1]);           // 0
    console.log(a[1][2]);           // 'color: gray'
    console.log(a[2][0]);           // '1'
    console.log(a[2][1]);           // 2
    console.log(a[2][2]);           // 'color: gray'



【追記】
あ、結構、大幅に質問文を変えていたのですね。
上記のコードで、eval() が返した配列を、google.visualization.arrayToDataTable() に渡せば良いと思います。

id:yayayai

ご丁寧にありがとうございます!!!
おかげさまで解決しました!

2014/03/30 16:48:53

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません