是否有可能parsing这个在node.js中的JSON?

所以我试图parsing一个小的API,它返回一些无效的JSON。 我一直在尝试做这样的事情:

var request = require('request'), url = 'urlhere'; request({ url: url }, function(error, response, body) { if (!error && response.statusCode === 200) { var jsonData = JSON.parse(body), jsonArray = []; // For jsonArray.push later for (var i = 0; i < jsonData.length; i++) console.log(jsonData[i].name); jsonData.length = 0; // Clear array. } }); 

但是我试图读取的服务类似于这个返回语句:

 { people: [ { name: "test" }, { name: "test2" }, { name: "test3" }, { name: "test4" } ] } 

我一直试图让这个工作,但是当我这样做只是返回[对象对象]。 当我更深入的时候,我发现这甚至不是有效的JSON,或者哪些网站和客户端认为它是无效的JSON。 有没有一种方法可以在node.js解决这个问题?

如果你不能修复不正确的JSON,我认为最简单的方法就是尝试修复它,方法是使用正则expression式为键添加缺失的引号:

search: /(['"])?([a-zA-Z0-9_]+)(['"])?:/g

replace: "$&":