javascript(jquery)に関する質問です。

文字列を配列や連想配列に変換する方法があったら教えてください。
クラスブラウザな形式、あるいはjQueryで実装できることが望ましいです。
以下を参考にしてください。

strTest = '{"tokens": ["hoge", "foo", "bar"]}'
上記のstrTestのような文字列を配列や連想配列に変換する関数defがあるとすると、
dicTest = def(strTest)
としたとき、
dicTest[token]が配列["hoge", "foo", "bar"]を表し、
dicTest[token][0]が文字列"hoge"を表すようになる形が理想的です。
連想配列で直接二次元配列が作れないことは把握しています(http://nakawake.net/?p=831)。
当方初級レベルです。よろしくお願い致します。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/01/27 00:13:20
  • 終了:2011/01/27 23:33:34

ベストアンサー

id:hagino_3000 No.2

T.Nishibayashi回答回数6ベストアンサー獲得回数42011/01/27 02:21:36

ポイント30pt

クロスブラウザってのがどこまでを指すのかわからないけど大抵のブラウザは

>var str  = '{"tokens": ["hoge", "foo", "bar"]}';
>var obj = JSON.parse(str);
>obj.tokens
hoge,foo,bar
>obj.tokens[0]
hoge

となる。

IE6,7といったネイティブでJSONが実装されていないブラウザもサポートするならjson2.jsを使う

id:puriketu99

回答ありがとうございます。

json2、以前もはぎーさんに教えてもらったような記憶がほんのりあります。

帰ったら試してみます。

2011/01/27 07:48:18

その他の回答(2件)

id:noy_shimotsuki No.1

霜月のい回答回数2ベストアンサー獲得回数02011/01/27 00:39:20

ポイント25pt

その例ならJSON形式と同じなのでjQuery.parseJSON(strTest)でいいのでは?

まあこれだと文字列の値やtokensが""(''は駄目)で囲まれてないとエラーになりますが。

id:puriketu99

回答ありがとうございます。

エラーの件ですが、実際に扱いたい文字列は、simplejsonでdumpされているものなので大丈夫でした。帰ったら試してみます。

2011/01/27 07:45:01
id:hagino_3000 No.2

T.Nishibayashi回答回数6ベストアンサー獲得回数42011/01/27 02:21:36ここでベストアンサー

ポイント30pt

クロスブラウザってのがどこまでを指すのかわからないけど大抵のブラウザは

>var str  = '{"tokens": ["hoge", "foo", "bar"]}';
>var obj = JSON.parse(str);
>obj.tokens
hoge,foo,bar
>obj.tokens[0]
hoge

となる。

IE6,7といったネイティブでJSONが実装されていないブラウザもサポートするならjson2.jsを使う

id:puriketu99

回答ありがとうございます。

json2、以前もはぎーさんに教えてもらったような記憶がほんのりあります。

帰ったら試してみます。

2011/01/27 07:48:18
id:Cherenkov No.3

Cherenkov回答回数1503ベストアンサー獲得回数4932011/01/27 03:31:43

ポイント25pt
function def(str) {
  return JSON.parse ? JSON.parse(str) : jQuery.parseJSON(str); //jQuery1.4.1以上
}

var strTest = '{"tokens": ["hoge", "foo", "bar"]}';
var dicTest = def(strTest);

var token = "tokens";
console.log(dicTest[token]); //["hoge", "foo", "bar"]
console.log(dicTest[token][0]); //hoge
id:puriketu99

回答ありがとうございます。

帰ったら試してみます。

2011/01/27 07:49:13

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

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

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

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