dポイントプレゼントキャンペーン実施中!

ajaxによってサーブレットから以下のresponseTextを取得したとします。
~ A ~
a : aa
b : bb
c : cc
~ B ~
d : dd

このようなレスポンスから
var array;
array["a"] = 'aa';
array["b"] = 'bb';
というように連想配列を取得したいのですが、どのようにすれば良いかわかりません。
どなたか力を貸していただけませんか?

A 回答 (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
    • good
    • 0
この回答へのお礼

助かりました!ありがとうございました。

お礼日時:2014/05/26 15:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!