Я пытаюсь получить и проанализировать JSON, возвращенный ниже, в Nodejs. Кажется, проблема в том, что код узла пытается проанализировать строку JSON, которая содержит символы новой строки, но я не уверен, как этого избежать и почему fetch работает в chrome devtools. Я предполагаю, что проблема заключается в моем упрощенном знании запросов https, поэтому я был бы очень признателен, если бы кто-нибудь смог объяснить, что происходит не так.
const url = "https://beta.charitycommission.gov.uk/umbraco/api/charityApi/getSearchResults?searchText=&pageNumber=1&contextId=1126&onlyShow=&&&&&&&"
Я могу успешно запустить это в chrome devtools, открытомдомен. Кроме того, JSON, по-видимому, автоматически анализируется для объекта, чего я не ожидал.
fetch(url).then(res => res.json()).then(json => console.log(json.pageItems))
Я попытался выполнить следующие действия в узле, но ни одна из них не работает.
const fetch = require("node-fetch");
await fetch(url).then(res => res.json()); // Unexpected token in JSON at position 0
const rp = require('request-promise-native');
const json = await rp({uri: url}) // returns JSON string with newline characters
JSON.parse(json) // Unexpected token in JSON at position 0