我有以下html:
<span>
Array
(
[namePerson/first] => firstnamedata
[namePerson/last] => lastnamedata
[namePerson] => firstnamedata lastnamedata
[person/gender] => genderdata
)
</span>
我可以以某种方式实现这样的目标吗?
var myArray = $("span").text();
alert(myArray["namePerson/first"]);
我的意思是将字符串解释为数组并访问它的键/值。
答案 0 :(得分:1)
你可以写一个基本的解析器。
function nextC(i, text) {
if (i < text.length)
return text.charAt(i);
return "";
}
function skipSpace(i, text) {
while (c == " ")
c = nextC(++i, text);
return i;
}
function parseObj(text) {
var lablel = "";
var value = "";
var obj = {};
for (var i = 0; i < text.length; i++) {
var c = text.charAt(i);
if (c == "[") {
while (c != "]") {
c = nextC(++i, text);
label += c;
}
} else if (c == " ") {
i = skipSpace(i, text);
c = nextC(i, text);
if (c == "=") {
c = nextC(++i, text);
if (c == ">" {
i = skipSpace(i, text);
c = nextC(i, text);
while (c != "\n") {
c = nextC(++i, text);
value += c;
}
obj[label] = value;
}
}
}
}
return obj;
}
var text = $("span").text();
var obj = parseObj(text);
alert(obj["namePerson/first"]);
注意的 这可能容易出错。如果您尝试将数据从服务器传输到客户端,请尝试使用JSON或XML。