В строке, которую вы передаете JSON.parse
, есть несколько букв , символ новой строки символов:
"hint":"CyBro-2\nPovezan: true\nVelikost X: 201.523163\nVelikost Y: 168.675491"
^^ ^^ ^^
const str = '[{"id":6,"item_type":"cybro_unit","unitId":6,"pos_id":9,"name":"CyBro-2","image":"images/cybro/defaultBro.png","layer":"10","positionX":111.0,"positionY":249.0,"layerName":"10","sizeX":201.0,"sizeY":168.0,"z_index":9999,"showLabel":true,"hint":"CyBro-2\nPovezan: true\nVelikost X: 201.523163\nVelikost Y: 168.675491","enabled":true,"connected":false}]';
console.log(str);
Символы новой строки недопустимы в JSON - вместо этого у вас должен быть литерал \
, за которым следует литерал n
, чтобы указать, что проанализированная строка в объекте должнасодержит буквальный перевод строки.Вы можете сделать это двойным экранированием \
s, чтобы указать один литерал \
, например:
"hint":"CyBro-2\\nPovezan: true\\nVelikost X: 201.523163\\nVelikost Y: 168.675491"
let test = JSON.parse(
'[{"id":6,"item_type":"cybro_unit","unitId":6,"pos_id":9,"name":"CyBro-2","image":"images/cybro/defaultBro.png","layer":"10","positionX":111.0,"positionY":249.0,"layerName":"10","sizeX":201.0,"sizeY":168.0,"z_index":9999,"showLabel":true,"hint":"CyBro-2\\nPovezan: true\\nVelikost X: 201.523163\\nVelikost Y: 168.675491","enabled":true,"connected":false}]'
);
console.log(test);