["{}","{}"]这种格式的数组怎么转换成[{},{}]?

["{}","{}"]这种格式的数组怎么转换成[{},{}]?
这种格式的数组怎么转换成
["{}","{}"]这种格式的数组怎么转换成[{},{}]?
这种格式的数组?


回答:

['{"value": ["123,234"]}'].map(str => JSON.parse(str, (k, v) => k == 'value' ? v[0].split(',') : v))只有value的话,k的判断也可以省略


回答:

这个数据生成有就点神奇,单个对象 JSON 组成数组,这个好理解;

对象的 value 值是一个坐标数组,这里就存在两种理解:

  1. 这是一组坐标,不需要处理
  2. 这是一个坐标,本意是把经纬坐标以数组的形式提供,但实际提供错了,需要处理

如果是第 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

回到顶部