["{}","{}"]这种格式的数组怎么转换成[{},{}]?
这种格式的数组怎么转换成
这种格式的数组?
回答:
['{"value": ["123,234"]}'].map(str => JSON.parse(str, (k, v) => k == 'value' ? v[0].split(',') : v))
只有value的话,k的判断也可以省略
回答:
这个数据生成有就点神奇,单个对象 JSON 组成数组,这个好理解;
对象的 value
值是一个坐标数组,这里就存在两种理解:
- 这是一组坐标,不需要处理
- 这是一个坐标,本意是把经纬坐标以数组的形式提供,但实际提供错了,需要处理
如果是第 1 种情况
const arr = data.map(json => JSON.parse(json));
如果是第 2 种情况,在上面的基础上还需要转换 value
const arr = data .map(str => JSON.parse(str))
.map(obj => obj.value = obj.value[0].split(","));
如果还需要把坐标变为数值类型,可以对坐标结果进行 parseFloat 处理
const arr = data .map(str => JSON.parse(str))
.map(obj => obj.value = obj.value[0].split(",").map(s => parseFloat(s)));
原生 map
没有做优化,可以手工合并两个 map
const arr = data .map(str => {
const jo = JSON.parse(str);
jo.value = jo.value[0].split(",").map(s => parseFloat(s));
return jo;
});
回答:
回答:
全部转成字符串,在转换成对象。
var list = ['{"id":1}','{"id":2}'];JSON.parse('['+list.toString() +']');
以上是 ["{}","{}"]这种格式的数组怎么转换成[{},{}]? 的全部内容, 来源链接: utcz.com/p/936459.html