2.Json基本语法

2.Json文件格式-Json基本语法


2.1 知识点

主要学习内容

用什么编辑Json文件?

创建Json文件

注释

//注释内容

/*sakjdfkasdf
sadfasdf
asdfasdfsadf*/

Json格式是一种键值对结构

语法规则

Json数据和类对象的对应关系

//大括号包裹的代表一个对象
{
    //冒号 代表的是 键值对的对应关系
    //逗号 就是分割成员变量的间隔符
    //Json当中的键一定要用 双引号包裹
    "name":"韬老狮",
    "age":18,
    "sex":true,
    //用于测试的 浮点类型 是支持浮点数的
    "testF":1.4,
    //中括号代表数组
    "ids":[1,2,3,4],
    "students":[{"name":"小红", "age":10, "sex":false},
                {"name":"小明", "age":8, "sex":true},
                {"name":"小强", "age":7, "sex":true}],
    "home":{"address":"成都", "street":"春熙路"},
    "son":null,
    //字典的话 键会变成双引号 以后转换时要注意!!!
    "dic":{"1":"123", "2":"234"}
}

配置Json文档时的注意事项

总结


2.2 知识点代码

//注释内容

/*sakjdfkasdf
sadfasdf
asdfasdfsadf*/

//大括号包裹的代表一个对象
{
    //冒号 代表的是 键值对的对应关系
    //逗号 就是分割成员变量的间隔符
    //Json当中的键一定要用 双引号包裹
    "name":"韬老狮",
    "age":18,
    "sex":true,
    //用于测试的 浮点类型 是支持浮点数的
    "testF":1.4,
    //中括号代表数组
    "ids":[1,2,3,4],
    "students":[{"name":"小红", "age":10, "sex":false},
                {"name":"小明", "age":8, "sex":true},
                {"name":"小强", "age":7, "sex":true}],
    "home":{"address":"成都", "street":"春熙路"},
    "son":null,
    //字典的话 键会变成双引号 以后转换时要注意!!!
    "dic":{"1":"123", "2":"234"}
}

2.3 练习题

请用Json语法描述一个玩家对象类,结构如下图

逐一对应书写json

{
    "name": "韬老狮",                                         // 名字字段,存储角色的名称
    "atk": 10,                                                 // 攻击力字段,存储角色的攻击力值
    "def": 3,                                                  // 防御力字段,存储角色的防御力值
    "moveSpeed": 1.4,                                          // 移动速度字段,存储角色的移动速度值
    "roundSpeed": 1.4,                                         // 旋转速度字段,存储角色的旋转速度值
    "weapon": {                                                // 武器字段,存储角色的武器信息
        "id": 1,                                               // 武器ID字段,存储武器的唯一标识符
        "num": 1                                               // 武器数量字段,存储角色拥有该武器的数量
    },                                                          // 如果没有武器,则直接值为null
    "listInt": [1, 2, 3, 4, 5],                                // 整型列表字段,存储整型数值的列表
    "itemList": [                                              // 物品列表字段,存储物品信息的列表
        {                                                      // 物品信息对象
            "id": 2,                                           // 物品ID字段,存储物品的唯一标识符
            "num": 10                                          // 物品数量字段,存储角色拥有该物品的数量
        },
        {
            "id": 3,
            "num": 99
        },
        {
            "id": 4,
            "num": 55
        }
    ],
    "itemDic": {                                               // 物品字典字段,存储物品信息的字典
        "2": {                                                 // 字典键为字符串型的物品ID
            "id": 2,                                           // 物品ID字段,存储物品的唯一标识符
            "num": 1                                           // 物品数量字段,存储角色拥有该物品的数量
        },
        "3": {
            "id": 3,
            "num": 10
        }
    },
    "itemDic2": {                                              // 物品字典字段2,存储物品信息的字典
        "2": {                                                 // 字典键为字符串型的物品ID
            "id": 2,                                           // 物品ID字段,存储物品的唯一标识符
            "num": 1                                           // 物品数量字段,存储角色拥有该物品的数量
        }
    },
    "privateI": 1,                                             // 私有整数字段,存储私有整数值
    "protectedI": 99                                           // 受保护整数字段,存储受保护整数值
}

2.4 练习题代码

{
    "name":"韬老狮",
    "atk":10,
    "def":3,
    "moveSpeed":1.4,
    "roundSpeed":1.4,
    "weapon":{"id":1, "num":1},//如果没有武器 可以直接值为null
    "listInt":[1,2,3,4,5],
    "itemList":[{"id":2, "num":10}, 
                {"id":3, "num":99},
                {"id":4, "num":55}],
    "itemDic":{ "2":{"id":2, "num":1},
                "3":{"id":3, "num":10}},
    "itemDic2":{"2":{"id":2, "num":1}},
    "privateI":1,
    "protectedI":99
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏