将字符串转换为数组

时间:2013-09-17 09:37:26

标签: jquery arrays string

HTML

我有以下html:

<span>
Array
(
    [namePerson/first] => firstnamedata
    [namePerson/last] => lastnamedata
    [namePerson] => firstnamedata lastnamedata
    [person/gender] => genderdata
)
</span>

目标

我可以以某种方式实现这样的目标吗?

var myArray = $("span").text();
alert(myArray["namePerson/first"]);

我的意思是将字符串解释为数组并访问它的键/值。

1 个答案:

答案 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。