Обмен одинаковыми ссылками местоположения с одной переменной в JSON - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь создать, я предполагаю, что переменная в JSON - мое приложение имеет несколько ссылок на "images / sprite-sheet1.png" , которые я вручную конвертирую в строки URI данных base64.

Я могу поместить «data: image / png; base64, iVBORw0KGgoAAAANSUhEUgAAB =» туда, где находятся «images / sprite-sheet1.png», но несколько раз включая одну и ту же строку URI, увеличивая размер моего файла,

Есть ли способ лучше справиться с этим?Я предположил, что мог бы создать переменную и вызвать ее там, где находятся спрайт-листы - но это, похоже, не работает.

Я пытался

var spriteSheet1 = ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB="]

, а затем

"ctaButton", 0, false, [], 0, null, [
            ["tapToSelect", 0, false, 1, 0, false, 725708356016635, [
                [spriteSheet1, 1, 2, [],
                    [1, 2], 0
                ]
            ]]
        ]

Что не работает.Ниже приведен фрагмент нескольких ссылок на один и тот же лист спрайтов. В идеале я хотел бы сохранить строки URI данных изображений и затем вызывать их через переменную или что-то подобное, если это возможно.

{
"project": ["project name", "gameMain", [
        [0, false],
        [2, false],
        [3, true],
        [4, true]
    ],
    [
        ["ctaButton", 0, false, [], 0, null, [
            ["tapToSelect", 0, false, 1, 0, false, 725708356016635, [
                ["images/sprite-sheet1.png", 1, 2, [],
                    [1, 2], 0
                ]
            ]]
        ],
        [], false, true, 626047515185758, [], null
    ],
    ["logo", 0, false, [], 0, null, [
            ["logoAnim", 5, false, 1, [
                ["images/sprite-sheet1.png", 1, 2, [],
                    [1, 2], 0
                ]
            ]]
        ],
        [], false, true, 386961897579956, [], null
    ]
    ]
]}

1 Ответ

0 голосов
/ 06 октября 2018

К сожалению нет.«JSON» означает «нотация объектов JavaScript», что означает, что это язык нотации, а не язык сценариев.Таким образом, нет никакого реального способа сжимать поток JSON так, как вы пытаетесь - во всяком случае, не изначально.Вот почему JSON stringify может завершиться ошибкой, если ваш объект ссылается на себя.

Я уверен, что где-то существует библиотека для сжатия JSON, но если вы не контролируете как отправляющий, так и принимающий сценарии, вы рискуетепроблемы совместимости.

...