Javascript 从带有方括号的对象中删除引号
我有这两个对象,在开始和结束值周围有双引号Javascript 从带有方括号的对象中删除引号,javascript,json,Javascript,Json,我有这两个对象,在开始和结束值周围有双引号 0: {name: "0", type: "line", start: "[20.6000,37.4000]", end: "[28.2000,30.8000]", vel: 0.3, …} 1: {name: "1", type: "line", start: "[53.3000,25.0000]", end: "[52.7000,35.3000]", vel: 0.3, …} 我想要这个 0: {name:"0", type:"line",
0: {name: "0", type: "line", start: "[20.6000,37.4000]", end: "[28.2000,30.8000]", vel: 0.3, …}
1: {name: "1", type: "line", start: "[53.3000,25.0000]", end: "[52.7000,35.3000]", vel: 0.3, …}
我想要这个
0: {name:"0", type:"line", start: [20.600,37.4000], end: [28.2000,30.8000],...}
如何删除双引号,使开始和结束值变为数字
我试过:
segments:
-
name: "0"
type: "line"
start: "[20.6000,37.4000]"
end: "[28.2000,30.8000]"
vel: 0.3
ang: 0
0[“开始”]。替换(/^“(.*)”$/,“$1”)代码>=>字符串类型
0[“开始”]。切片(1,-1)代码>=>字符串类型
编号(0[“开始])
=>此返回
我正在对我的NodeJs服务器进行ajaxpost调用,在那里JSON被转换为YAML文件,然后被发送回
这是结果:
segments:
-
name: "0"
type: "line"
start: "[20.6000,37.4000]"
end: "[28.2000,30.8000]"
vel: 0.3
ang: 0
一个有效的yaml,但我需要开始和结束值作为数字您可以尝试使用JSON.parse
在文件上循环并使用
JSON.parse(x['start']) // JSON.parse(0['start'])
只需循环-注意,在转换时,小数点末尾的零将丢失:
var arr=[{name:“0”,键入:“line”,开始:“[20.6000,37.4000]”,结束:“[28.2000,30.8000]”,级别:0.3},
{名称:“1”,键入:“行”,开始:“[53.3000,25.0000]”,结束:“[52.7000,35.3000]”,级别:0.3}]
arr.forEach(函数(条目){
entry.start=JSON.parse(entry.start);
entry.end=JSON.parse(entry.end);
})
console.log(arr)
解决方案使用,和。不改变原始数据集
const data=[{name:“0”,type:“line”,start:“[20.6000,37.4000]”,end:“[28.2000,30.8000]”,vel:.3},{name:“1”,type:“line”,start:[53.3000,25.0000]”,end:[52.7000,35.3000]”,vel:.3};
const res=data.map({start,end,…rest})=>{
start=JSON.parse(start),end=JSON.parse(end);
返回{…rest,start,end};
})
控制台日志(res)代码>你能帮我解决这个@worstCoder吗?我有类似的问题,你在这里给出了解决方案。这是我的线