ОБНОВЛЕНИЕ : Решено. Оказывается, был нежелательный невидимый первый байт. Спасибо за вашу помощь! Я удалил это с const xData = data.substr(1)
Кажется, что это легко сделать, и на самом деле это так, но я пытаюсь проанализировать конкретный файл JSON и просто не могу.
Этот JSON-файл распознается системой как HTML-файл (в соответствии с командой file
из-за большого количества HTML). Я попробовал некоторые онлайн-парсеры, и все они говорят, что JSON в порядке.
Другие файлы распознаются просто отлично.
Работает на macOS Mojave, Node.JS 8.15.0, все файлы в кодировке UTF-8.
Есть какие-нибудь подсказки, что здесь делать?
РЕДАКТИРОВАТЬ: JSON содержание:
{
"success": true,
"data": [
{
"id": "24971",
"title": " Funcionament d'un vehicle històric: L'Ou ja es mou",
"image": "http://www.vilanova.cat/content/agenda/24971/LITTLEOU(2).JPG",
"description": "<p>Circulació de l'Ou, una dresina d'obres de 194o. Aquesta activitat permet als visitants experimentar en tren per la nova via de contorn del Museu, des del baixador del Pont de Pineda fins al del Pont de Senyals, situats al passeig Entrevies.</p><p>Aquest vehicle construït el 1940, s'utilitzava per a facilitar els desplaçaments dels professionals del ferrocarril als diferents punts de les línies i poder fer les inspeccions o el manteniment de vies i el seguiment d'obres. És protagonista d'un conte de infantil de la col·lecció del Museu, titulat \"L'Ou que es mou\".</p>",
"start_date": "20/01/2019",
"end_date": "20/01/2019",
"start_hour": "11:30",
"end_hour": "13:30",
"timetable": "<p> De les 11:30 a les 13:30</p>",
"price": "Gratuït, inclós en qualsevol de les tarifes vigents d'emtrada al Museu",
"location": "Museu del Ferrocarril de Catalunya. Vilanova i la Geltrú",
"location_id": "1363",
"address": "Plaça d'Eduard Maristany, s/n",
"x": "393725.02",
"y": "4564273.16",
"lon": "1.7310247183221",
"lat": "41.2210496477307"
}
]
}
Код:
const fs = require('fs')
const data = fs.readFileSync("./result.json", 'utf-8')
const json = JSON.parse(data)
Ошибка:
SyntaxError: Unexpected token in JSON at position 0
at JSON.parse (<anonymous>)
at Object.<anonymous> (/Users/kyngo/Development/OpenDataImporter/reader.js:4:19)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3