@Egche
Ученье-свет.

JSON.parse в node.js выдает ошибку. В чем ошибка?

Код считываемого json файла:
{"jProductData":{"product":{"partNumber":"34673 [GENERICPRODUCT]","attributes":[{"type":"00018","name":"цвет","id":"1001361238"},{"type":"00019","name":"размеры","id":"1001361237"}],"catEntryId":"993224","items":[{"californiaTitle20Product":false,"prices":{"hasPrfCharge":false,"enablenlpinterval":0,"hasEcoFee":false,"normal":{"priceNormalPerUnit":{"unit":""},"priceNormal":{"rawPrice":799,"value":"799.\u2013","priceExclVat":"677.\u2013"},"priceNormalDual":{}},"isUnitPricePrimary":false,"usesUnitPriceMeasure":false,"hasTemporaryFamilyOffer":false,"hasFamilyPrice":false,"comparisonPriceExists":false},"images":{"large":["/ru/ru/images/products/england-bra__0385325_PE558442_S4.JPG"],"thumb":["/PIAimages/0385325_PE558442_S2.JPG"],"small":["/PIAimages/0385325_PE558442_S1.JPG"],"normal":["/PIAimages/0385325_PE558442_S3.JPG"],"zoom":["/PIAimages/0385325_PE558442_S5.JPG"]},"buyable":false,"metric":"Макс.: 7 Вт<br/>Ширина: 18 см<br/>Глубина: 22 см<br/>Высота: 32 см<br/>Длина провода: 1.7 м<br/><br/>","custBenefit":"<cbs><cb><t>Текстильный абажур, мягко рассеивающий свет, создает в комнате уютную и располагающую атмосферу.<\/t><\/cb><\/cbs>","environment":"Может требоваться специальная обработка отходов. За более подробной информацией обращайтесь в местные органы власти.<br/>","availabilityUrl":"/ru/ru/catalog/availability/00291377/","packagePopupUrl":"/ru/ru/catalog/packagepopup/00291377/","url":"/ru/ru/catalog/products/00291377/","newsType":"NEWS_ICON","goodToKnow":"Лампочка продается отдельно. Мы рекомендуем шарообразный молочный светодиод E14 200 лм.<br/>Для обычного абажура или светильника используйте матовую лампочку. Это обеспечит равномерный рассеянный свет.<br/>Для абажура или светильника с перфорацией или прорезями используйте прозрачную лампочку. Это создаст узоры света и тени на стенах и потолке.<br/>Можно дополнить другими светильниками этой серии.<br/>IKEA. Модель V1501 ЭНГЛАНД. Для этого светильника подходят лампочки класса энергопотребления от A++ до D.<br/>","nopackages":"1","designer":"IKEA of Sweden","extendedContext":[],"techInfoArr":[{"type":"Бра","name":"ЭНГЛАНД","techInfo":[{"headNo":"00021","rangeText":"Luminaires","valueMet":"ИКЕА","techInfoNo":"00005","textMet":"ИКЕА","rangeNo":"00008","isLegal":true,"seqNo":1,"headText":"Общеее","techInfoText":"Марка"},{"headNo":"00021","rangeText":"Luminaires","valueMet":"V1501 Ängland","techInfoNo":"00015","textMet":"V1501 Ängland","rangeNo":"00008","isLegal":true,"seqNo":2,"headText":"Общеее","techInfoText":"Идентификатор модели"},{"headNo":"00021","rangeText":"Luminaires","valueMet":"А++ до D","techInfoNo":"00025","textMet":"А++ до D","rangeNo":"00008","isLegal":true,"seqNo":3,"headText":"Общеее","techInfoText":"Данный осветительный прибор совместим с лампочками классов энергопотребления"}],"articleNumber":"00291377"}],"careInst":"Пыль с абажура можно удалить щеточкой.<br/>","validDesign":[],"goodToKnowPIP":"Для обычного абажура или светильника используйте матовую лампочку. Это обеспечит равномерный рассеянный свет.<br/>Для абажура или светильника с перфорацией или прорезями используйте прозрачную лампочку. Это создаст узоры света и тени на стенах и потолке.<br/>Можно дополнить другими светильниками этой серии.<br/>IKEA. Модель V1501 ЭНГЛАНД. Для этого светильника подходят лампочки класса энергопотребления от A++ до D.<br/>","partNumber":"00291377","attachments":[{"type":"ASSEMBLY_INSTRUCTIONS","name":"Инструкция по сборке","atcharray":[{"attachmentName":"ЭНГЛАНД Бра","articleNumber":"00291377","attachmentPath":"/ru/ru/assembly_instructions/england-bra__AA-1699960-3_pub.pdf"}]},{"type":"MANUALS","name":"Инструкции","atcharray":[{"attachmentName":"ЭНГЛАНД Бра","articleNumber":"00291377","attachmentPath":"/ru/ru/manuals/england-bra__AA-896289-4_pub.pdf"}]}],"bti":false,"name":"ЭНГЛАНД","soldSeparately":"Лампочка продается отдельно. Мы рекомендуем шарообразный молочный светодиод E14 200 лм.<br/>","reqAssembly":true,"type":"Бра","dualCurrencies":false,"pkgInfoArr":[{"pkgInfo":[{"heightMet":"12 см","lengthMet":"25 см","consumerPackNo":1,"quantity":"1","widthMet":"17 см","weightMet":"0.62 кг"}],"articleNumber":"00291377"}],"catEntryId":"993625","descriptiveAttributes":{},"imperial":"Макс.: 7 Вт<br/>Ширина: 7 дюйм<br/>Глубина: 9 дюйм<br/>Высота: 13 дюйм<br/>Длина провода: 5 фт 7 дюйм<br/><br/>","custMaterials":"Основание: Сталь, Порошковое покрытие<br/>Абажур: 100% полиэстер<br/>"}]},
"currentItemArticle":"00291377",
"sscCatalog":"",
"sscCategory":"",
"simsCategory":"20504",
"simsCatalogId":"departments",
"depthInFunctionCategory":"",
"jsonRelatedProducts":{"item_00291377":{}},
"categoryLocal":"Гостиная",
"subCategoryLocal":"Бра",
"chapterLocal":"Бра",
"category":"Living room",
"subCategory":"Wall lamps",
"chapter":"Wall lamps",
"similarSolution":"20504",
"imageFile":["files/england-bra__0385325_PE558442_S4.jpg","files/0385325_PE558442_S2.jpg","files/0385325_PE558442_S1.jpg","files/0385325_PE558442_S3.jpg","files/0385325_PE558442_S5.jpg","files/00291377.html","","files/00291377_150.html","files/england-bra__AA-1699960-3_pub.pdf","files/england-bra__AA-896289-4_pub.pdf"]}}


Фото кода который его получает и обрабатывает:
d7d52b2fec3c48efbf8567db598fedce.png

При проверке на тип выдает строку, а попытка распарсить выкидывает ошибку.
  • Вопрос задан
  • 502 просмотра
Решения вопроса 1
@Egche Автор вопроса
Ученье-свет.
Оказалось, что при создании json-файлов парсер записывал BOM-сигнатуру из трех байт в начало файла, что не позволяло JSON.parse обрабатывать файл.

Так же эту проблему можно обойти реквайря json-файл напрямую.
var json = require('./file.json');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы