我在将以下字符串转换为对象数组时遇到麻烦。我尝试了json解析和字符串化的各种组合,但均无济于事。这是代码:

'{"lat": 51.25869, "lng": -0.55731},{"lat": 51.17095, "lng": -0.79179},{"lat": 51.07819, "lng": -0.72810},{"lat": 51.11948, "lng": -0.46185},'


我需要像这样:

[
    {lat: 51.28876, lng: -0.50718},
    {lat: 51.18774, lng: -0.84672},
    {lat: 51.00566, lng: -0.78475},
    {lat: 51.08973, lng: -0.46529}
];


我该如何实现?

最佳答案

看起来您只需删除尾随逗号然后添加大括号即可获得完全有效的JSON:

var json = "[" + myString.replace(/,$/, "") + "]";
var arr = JSON.parse(json);

关于javascript - 如何在JS中将对象文字字符串转换为对象数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42113105/

10-13 04:40