Доступ к значению JSON, которое ссылается на другой ключ JSON - PullRequest
0 голосов
/ 06 мая 2019

У меня есть два файла JSON, и один ссылается на другой.

Первый приведенный ниже файл анализируется в программе, когда перемещается , он ссылается на таблицу спрайтов.

{"stand": { "x":  0, "y": 12, "width": 49, "height": 52 },
 "walk1": { "x": 52, "y": 12, "width": 50, "height": 52 }}

Затем я определяю другой объект Донг как пару значений ключа, как показано ниже

doing = { frame: [{sprite:moves.stand, xoff:  0, yoff:102},
                  {sprite:moves.walk, xoff: 10, yoff:102} ]}

И могу ссылаться на данные как working.frame [0] .sprite.x и все хорошо.

Мои проблемы начинаются, когда я пытаюсь сделать объект working в виде файла JSON, так как для него требуется, чтобы значение sprite было строкой, а не ссылкой на объект.

{frame:[{"sprite":"moves.stand", "xoff":  0, "yoff":102},
         "sprite":"moves.stand", "xoff": 10, "yoff":122}]}

Есть ли способ определить ссылку на объект для JSON или способ преобразования строки "mov.stand" обратно в ссылку на объект?

Мне удалось использоватьссылка на строку из одного слова, но не ссылка на синтаксис точки.Но не с точечной нотацией.

{frame:[{"sprite":"stand", "xoff": 0, "yoff":102},
        {"sprite":"walk0", "xoff": 64, "yoff":102}]}


 moves[doing.frame[0].sprite].x

1 Ответ

2 голосов
/ 06 мая 2019

Вы можете сохранить JSON.stringify(doing) содержимое в файл.

var moves = {"stand": { "x": 0, "y": 12, "width": 49, "height": 52 }}


var doing = {
    "frame": [{"sprite":moves.stand, "xoff":  0, "yoff":102},
            {"sprite":moves.stand, "xoff": 10, "yoff":122} ]
}  

console.log(JSON.stringify(doing));
...