后台返回数据时两个json合到一起了格式如: var str = '{"employees":[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]}{"employees":[{"firstName":"Thomas","lastName":"Carter"}]}' 怎么拆分它呢?
2 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
确定都是 object 并且是无缝连接
const arr = str.split('}{');
arr.length > 1 && arr.forEach((item, i) => {
if (i === 0) {
item += '}';
console.log(JSON.parse(item));
} else if (i === arr.length - 1) {
item = '{' + item;
console.log(JSON.parse(item));
} else {
item = `{${item}}`;
console.log(JSON.parse(item));
}
});
30秒到达战场
TA贡献1828条经验 获得超6个赞
case by case的写法
如果后端返回的数据确定是两个并且返回的两个json都是只有一个employees属性的话:
用string的lastIndexOf找到分割点
const i = str.lastIndexOf('{"employees":')
const result = [JSON.parse(str.substr(0, i)), JSON.parse(str.substr(i))]
console.log(result)
添加回答
举报
0/150
提交
取消