Json asset pack Nested data

hi,

I’ve been trying to use the asset pack loader and I can’t figure out why the nested data aren’t working properly
on this example :
(here donuts is into nested nodes and doesn’t seem to load)

var config = {
    type: Phaser.AUTO,
    width: 800,
    height: 600,
    parent: 'phaser-example',
    scene: {
        preload: preload,
        create: create
    }
};

var game = new Phaser.Game(config);

function preload ()
{
    this.load.pack('pack1', FilePackObject );
}

function create ()
{
    this.add.image(400, 300, 'TEST2.ayu');
    this.add.image(400, 300, 'donuts');
    this.add.image(400, 500, 'sukasuka-chtholly');
}

var FilePackObject = { 
    "test1": {
        "files": [
            {
                "type": "image",
                "key": "taikodrummaster",
                "url": "assets/pics/taikodrummaster.jpg"
            },
            {
                "type": "image",
                "key": "sukasuka-chtholly",
                "url": "assets/pics/sukasuka-chtholly.png"
            },
        ]
    },
    "test2": {
        "prefix": "TEST2.",
        "path": "assets/pics",
        "defaultType": "image",
        "files": [
            {
                "key": "ayu"
            }
        ]
    },
    'node0': {
        'node1': {
            'node2': {
                'files': [
                    {
                        "type": "image",
                        "key": "donuts",
                        "url":"assets/pics/donuts.jpg"
                    }
                ]
            }
        }
    },
    "meta": {
        "generated": "1401380327373",
        "app": "Phaser 3 Asset Packer",
        "url": "https://phaser.io",
        "version": "1.0",
        "copyright": "Photon Storm Ltd. 2018"
    }
};

thanks for reading guys.

AFAIK nested sections aren’t allowed.

that s not what they say in the API documentation. they show an example here of a JSON file :slight_smile:

    {
        "level1": {
            "baddies": {
                "aliens": {},
                "boss": {}
            }
        },
        "level2": {},
        "level3": {}
    }  

…“and you only wanted to store the boss data in the Cache, then you could pass level1.baddies.boss as the dataKey .”

the datakey is suppose to allow the extraction of nested data, yet this doesn’t work either.

dataKey string <optional> :
If specified instead of the whole JSON file being parsed, only the section corresponding to this property key will be added. If the property you want to extract is nested, use periods to divide it.

so either it s a bug, or I m doing this wrong. I d like to know though.

Perhaps because it’s not a valid JSON?

You’re right but I think the docs must be incorrect. :slight_smile:

It skips any section without a files property.