- 締切済み
responseTextから連想配列へ
ajaxによってサーブレットから以下のresponseTextを取得したとします。 ~ A ~ a : aa b : bb c : cc ~ B ~ d : dd このようなレスポンスから var array; array["a"] = 'aa'; array["b"] = 'bb'; というように連想配列を取得したいのですが、どのようにすれば良いかわかりません。 どなたか力を貸していただけませんか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- fujillin
- ベストアンサー率61% (1594/2576)
回答No.1
改行とコロンで分割してあげればよいのではないでしょうか。 データとしてどのような文字列があり得るのかがよくわからないので、基本的な考え方のみですが… var separator = " : "; var responseText = ["~ A ~", "a : aa", "b : bb", "c : cc", "~ B ~", "d : dd"].join("\r\n"); alert("responseText =\n\n" + responseText); var obj = {}, i, a; var r = responseText.replace(/\r?\n/g, "\r").split("\r"); for(i=0; i<r.length; i++){ a = r[i].split(separator); if(a.length >= 2) obj[a[0]] = a[1]; } alert(obj["a"]); //aa alert(obj["c"]); //cc
お礼
助かりました!ありがとうございました。