JS 字符串转换为json格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 字符串转换为json格式相关的知识,希望对你有一定的参考价值。

你好,
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&
上面是从后台得到的数据,是拼接成字符串的,请问我可以用js把这转换成json格式吗,谢谢

参考技术A //首先按照&把每一行都分开来
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']
//  .....
//]

//关于处理的时候,你就自己对应着取值呗

追问

你好,你这方法我试了不行的呢,得不到任何值,还提示mapArray未定义,我定义后还是报错

追答

你还真的是一点都不看代码啊,闭着俩眼睛写代码呢


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 mapArray = str.split('&');//这里定义名(mapArray)写错了
mapArray = mapArray.map(function(itemStr)
  return itemStr.split('*');
);
console.log(mapArray);

追问

你好,mapArray写错了还真没注意到,
我一直在火狐下测试都正常,不过现在到IE下测试问题来了,
提示 “mapArray = mapArray.map(function(itemStr)”
提示这一行“对象不支持此属性或方法”,
是不是这还有兼容问题啊,麻烦了

追答

你IE多少版本的啊?

IE8以下是不支持map方法的

替代方法

if(!Array.prototype.map)
  Array.prototype.map = function(callback)
    var results = [];
    for(var i=0; i<this.length; i++)
      results.push(callback(this[i] , this));
    
    return results;
  


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 mapArray = str.split('&');
mapArray = mapArray.map(function(itemStr)
  return itemStr.split('*');
);
console.log(mapArray);

参考技术B 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 arr = str.split("*");

arr 就是数组格式的json格式

json: 数组,对象

追问

你好,1*无sim卡或卡无效*已经连接*5*2014-01-10 09:23:46 每行的1要单独提取出来的,后面的 要放到表格里,
也就是无sim卡或卡无效已经连接52014-01-10 09:23:46
以&结尾的算一行,转换为json不知道怎么样一行放到表格里,麻烦帮我下,非常感谢

追答

我也不知道你的显示的总体样子啊

这么多&,

本回答被提问者采纳

以上是关于JS 字符串转换为json格式的主要内容,如果未能解决你的问题,请参考以下文章

jQuery怎么把JSON格式的字符串转换为JSON对象

jQuery怎么把JSON格式的字符串转换为JSON对象

js字符串转换为对象格式的3种方法

JS中如何把JSON格式的字符串转化为一个对象或数组呢?

js怎么把数组转换成json字符串

js中实现json格式的转换