2017-10-12 655 views
-4

删除此字符串中的方括号。如何删除json合成字符串中的方括号?

{"id":[1],"latitude":[12.45787],"longitude":[11.77878]} 

输出:

{"id":1,"latitude":12.45787,"longitude":11.77878} 
+0

面值将JSON放入一个对象中,迭代对象的每个属性并将该数组的第一个元素分配给它自己?你有没有尝试过任何东西? –

+0

迭代对象属性,将它们的第一项分配给它们各自的值。 – Tushar

+1

[Stack Overflow用户需要多少研究工作?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users) – adiga

回答

1

var str = '{"id":[1],"latitude":[12.45787],"longitude":[11.77878]}'; 
 
var obj = JSON.parse(str); 
 

 
for (var key in obj) { 
 
    obj[key] = obj[key][0]; 
 
} 
 

 
console.log(obj);

-1

您可以使用RegExp/\[|\]/g.replace()

let res = `{"id":[1],"latitude":[12.45787],"longitude":[11.77878]}`.replace(/\[|\]/g, ""); 
+0

这不是处理这个解决方案的正确方法。我认为@ 4castle的答案可能比这个答案更好。因为这个答案会抛出一个错误,如果数组对象有两个值,如'[11.77878,11.11111]'?? –

+0

@RameshRajendran _“因为如果数组有两个值,如[11.77878,11.11111]'?”,那么在OP中描述的变化要求如何? – guest271314

+0

我不问OP的要求。我只是想着你得到的解决方案。 –

相关问题