E
E
Egor Chebotarev2016-06-10 18:14:23
JSON
Egor Chebotarev, 2016-06-10 18:14:23

JSON.parse in node.js throws an error. Where is the mistake?

Read json file code:

{"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"]}}

A photo of the code that receives and processes it:
d7d52b2fec3c48efbf8567db598fedce.png
When checking for a type, it returns a string, and an attempt to parse it throws an error.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
E
Egor Chebotarev, 2016-06-14
@Egche

It turned out that when creating json files, the parser wrote a three-byte BOM signature to the beginning of the file, which prevented JSON.parse from processing the file.
Also, this problem can be bypassed by requesting a json file directly.
var json = require('./file.json');

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question