cocos creator怎么读json里面的数据

官方案例就到了jsonasset,然后就没有然后了,下面是官方文档的

import { _decorator, Component, JsonAsset, resources, error } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('ItemTemplate')
export class ItemTemplate extends Component {

    start () {

        resources.load('gameGiftJson', (err: any, res: JsonAsset) => {
            if (err) {
                error(err.message || err);
                return;
            }
            // 获取到 Json 数据
            const jsonData: object = res.json!;

        })

    }
}

那我要如何读json里面的数据?

你不是都获取到 json 数据了吗…

1赞

那怎么解析里面的字段呢

console.log

没有大佬回复了吗

访问JSON某个字段的值:
console.log(jsonData.key);(key是字段名)
遍历JSON所有字段的值:
for(var key in jsonData){
console.log(key,jsonData.key);
}
修改或增加字段:
jsonData.key=***;(字段存在就是修改,不存在就是增加)
删除某个字段:
delete jsonData.key;

1赞

大佬,jsonData类型是object,后面点不出来啊,后面的字段名都是未定义的变量名

先去看看js和ts语法吧

大哥,没时间看,我急着解决,我加载到了json,却没法读取里面的内容?你跟我谈语法?
const jsonData: object = res.json;
这句话加载到了json,那里面的字段怎么读,这跟语法有关吗?
我的json根节点叫scenes,我res.json.scenes,这个scenes有红波浪线,说没这个变量名,懂了吗

楼上的人早就给出了答案,你还不知道就是因为你不懂语法

image
image
好的,您告诉我,大哥,我这语法哪里出了错,我的根节点是scenes,我点不出来,他报错

什么叫点不出来?你不声明数据类型编辑器怎么知道你加载的数据是什么类型?波浪线影响你运行了?

大兄弟啊,这个res的类型是jsonasset,res.json的类型是object 你让我怎么给他加数据类型啊,难道cocos要自己去底层加数据类型的?

所以我才让你去看js和ts的语法,自己想吃别人饭却连餐具都不会使用还要别人喂给你吃?

你不说就算了

哪怕是学过一门高级语言都会明白数据类型是什么,文档几分钟看完都不去,我不配给您说

。。。。。。。。。你知道res.json,这个json的数据类型定义在哪里吗。。。我要去json的数据类型里给他加个scenes的数据类型是吧?你确定这个res.json是我自己写的吗,这是官方底层给的,闭原的,你让我加给谁看?

那你就慢慢等好心人给你说一分钟就能看完的官方文档吧

官方文档什么都没写,你要是看了就不会这么说,就写了resourse加载

坐在主人家,主人饭做好,躺在床上叫,给我送饭来