Помогите, есть json, я изменил строку, добавив русский
{
"spawn": {
"x": 200,
"y": 150
},
"objects": [{
"type": 0,
"x": 155,
"y": 50,
"textHeight": 40,
"isCentered": false,
"text": "Привет"
}, {
"type": 2,
"x": 300,
"y": 170,
"width": 50,
"height": 50,
"dst": "classic-2"
}],
"lvlname": "classic-1"
}
но теперь Привет отображается кракозябрами. Стоит кодировка UTF-8 без bom. Попробовал изменить на просто UTF-8, но при запуске node.js-ом js скрипта, он выдает ошибку
SyntaxError: Unexpected token ? in JSON at position 0
at JSON.parse (<anonymous>)
at loadLevel (C:\Users\Alexander\Downloads\server-cursors.io\LevelManager.js
:32:20)
at Object.loadLevels (C:\Users\Alexander\Downloads\server-cursors.io\LevelMa
nager.js:16:40)
at loadLevels (C:\Users\Alexander\Downloads\server-cursors.io\main.js:31:15)
at Object.<anonymous> (C:\Users\Alexander\Downloads\server-cursors.io\main.j
s:45:1)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
Ошибку выдает на эти строки
var lvldata = fs.readFileSync(fn,{encoding: "utf8"});
var ld_obj = JSON.parse(lvldata);
Сама функция
function loadLevel(fn) {
var lvldata = fs.readFileSync(fn,{encoding: "utf8"});
var ld_obj = JSON.parse(lvldata);
levels[ld_obj.lvlname] = ld_obj;
levelNames.push(ld_obj.lvlname);
clog("loaded level??: "+ld_obj.lvlname);
}