Ответ от сервера является строковым JSON объекты, которые были объединены с символами возврата строки "\ n".
Он не JSON разбирается, потому что это не массив, который ему нужен быть, быть действительным JSON.
Подход, который я выбрал, состоит в том, чтобы привести его к "массиву строк JSON объектов". Поскольку каждый объект неглубокий, вложенности нет, поэтому символ }
однозначно является концом строкового объекта.
Вы можете вызвать massiveJSONishString.split('}')
, и вы получите массив JSON -stringified объекты с завершающим }
отсутствующим на каждом.
Затем вы отображаете этот массив , и для каждого элемента добавляете конечный }
, который мы выбросили, в array-ify это и JSON.parse()
эта строка, создающая массив JSON объектов.
Это код, который вы ищете:
const textArray = res.data.split("}");
const jsonArray = textArray.map(element => {
try {
return JSON.parse(`${element}}`);
} catch (e) {
return {
product_link_href: "MALFORMED JSON"
};
}
});
// console.log(jsonArray);
const product_link_hrefs = jsonArray.map(obj => obj.product_link_href);
const list = product_link_hrefs.join(", ");
console.log(list);
console.log(`You're welcome!`);