Я использую файл JSON для хранения массива атрибутов прямоугольника. Затем, в отдельном файле javascript, я разбираю JSON и рисую прямоугольники на холсте. По какой-то причине, Eclipse любит этот формат JSON и отладчик Chrome не принимает его:Eclipse JSON format
rectangles = '[{"x" : 0, "y" : 0, "width" : 20, "height" : 10, "color" : "red"}, {"x" : 25, "y" : 0, "width" : 20, "height" : 10, "color" : "blue"}, {"x" : 0, "y" : 15, "width" : 20, "height" : 10, "color" : "blue"}, {"x" : 25, "y" : 15, "width" : 20, "height" : 10, "color" : "red"}]';
, но когда я очистить его и попытаться отформатировать его, Eclipse больше не рисует прямоугольники с этим форматом:
rectangles='[
{
"x": 0,
"y": 0,
"width": 20,
"height": 10,
"color": "red"
},
{
"x": 25,
"y": 0,
"width": 20,
"height": 10,
"color": "blue"
},
{
"x": 0,
"y": 15,
"width": 20,
"height": 10,
"color": "blue"
},
{
"x": 25,
"y": 15,
"width": 20,
"height": 10,
"color": "red"
}
]';
Есть ли причина, по которой он рисует только прямоугольники с прежним форматом? Для справки, вот мой JavaScript:
function load(){
var myData = JSON.parse(rectangles);
var can = document.getElementById('rectangleCanvas');
var context = can.getContext('2d');
for (i=0; i<myData.length; i++){
context.fillStyle = myData[i].color;
context.fillRect(myData[i].x, myData[i].y, myData[i].width, myData[i].height);
}
}
Основная отладка: 'console.log (myData)' в обоих форматах и посмотреть, как они отличаются. –
Даже если это недействительно JSON, почему Eclipse распознает первый формат? – Mike
ну, может быть, 'rectangles' не является глобальным var, поэтому он не определен в тот момент, когда вы пытаетесь сделать это с ручной строкой, не вызывая ничего синтаксического анализа. поэтому ... проверьте 'console.log', чтобы увидеть, что ДЕЙСТВИТЕЛЬНО происходит, вместо того, чтобы предполагать, что это красивое отпечаток. –