Javascript JSON将数组解析为对象

Javascript JSON将数组解析为对象,javascript,jquery,json,Javascript,Jquery,Json,我有一系列组件,如下所示: var names = 1)"lat: 40.6447077, lng: -73.878421, address: 1600 Pennsylvania Avenue, Brooklyn, NY 11239, USA" 2)"lat: 40.609099, lng: -73.931516, address: 2015 E. 35th street, Brooklyn, Ny, United States" 我试图将其解析为一个对象数组。下面的代码非常适

我有一系列组件,如下所示:

var names =
    1)"lat: 40.6447077, lng: -73.878421, address: 1600 Pennsylvania Avenue, Brooklyn, NY 11239, USA"
    2)"lat: 40.609099, lng: -73.931516, address: 2015 E. 35th street, Brooklyn, Ny, United States"
我试图将其解析为一个对象数组。下面的代码非常适合解析纬度和经度,但在尝试解析地址时,我也收到了意外的令牌错误

    var newArray = names.map(function (str) {
    return JSON.parse("{" + str.replace(/lat/, '"lat"').replace(/lng/, '"lng"').replace(/address/, '"address"').replace(/;/, "") + "}")
});

JSON中的字符串必须使用双引号

将代码中的
(/address/,““address””)
替换为
(/address:(.+)/,““address”:“$1”)


您必须首先将地址日期用引号括起来,因为它不仅是文本,而且还有逗号。混乱不堪。然后您将
前面的单词也用引号括起来。

这些字符串的来源是什么?首先要确定来源choice@charlietfl,它是从MVC视图。我应该如何更改源字段?假设数据正在从某个初始组织结构转换为字符串。在这一点上创建适当的json可以简化它
names.map(function (str) {
  return JSON.parse(
    "{" + str.replace(/address: /, 'address: "').replace(/(\w+): /g, '"$1": ')+'"}'
  );
});