Так что я пытаюсь разобрать небольшой API, который возвращает несколько недействительных JSON. Я пытался сделать что-то вроде этого:Можно ли даже разобрать это как JSON в node.js?
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"
}
]
}
Я пытался чтобы заставить это работать, но когда я это делаю, просто возвращает [object Object]. Когда я пошел глубже, я узнал, что это даже не действительный JSON, или какие веб-сайты и клиенты считают его недействительным JSON. Есть ли способ обойти это в node.js
?
Это не JSON, а обычная декларация объекта. Похоже, что API ожидает, что вы будете использовать 'eval()' (вы, вероятно, не должны). – spenibus