var str = "1*无sim卡或卡无效*已经连接*5*2014-01-10 09:23:46&1*无sim卡或卡无效*已经连接*5*2014-01-10 09:23:50&1*无sim卡或卡无效*已经连接*5*2014-01-10 09:23:54"
var mapArr = str.split('&')//吧每一行都分开来
mapArray = mapArray.map(function(itemStr){
return itemStr.split('*')//在按照*号分开每列的值
})
//这样就得到了一个二维数组
//mapArray = [
// ['1' , '无sim卡或卡无效' , '已经连接' , '5' , '2014-01-10 09:23:46'],
// ['1' , '无sim卡或卡无效' , '已经连接' , '5' , '2014-01-10 09:23:50']
// .....
//]
//关于处理的时候,你就自己对应着取值呗
错误原因:
前面你能成功取值是因为a是一个javascript对象而不是纯粹的字符串,所以可以用obj.attr的方式读取数值,
后面你用ajax获取的相似格式字符串的实际为JSON格式的字符串,所以用对象方法读值失败。
解决思路:
将JSON文本转换为JavaScript 对象后再用obj.attr的方式读值。
JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。
由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。
具体方法:
假设用ajax获取的json文本存于变量jsonText中
var a = eval("(" + jsonText + ")")相关资料:
http://www.w3school.com.cn/json/json_eval.asp