Unity中实现解析Json文件
发布日期:2021-06-30 19:59:12 浏览次数:3 分类:技术文章

本文共 1707 字,大约阅读时间需要 5 分钟。

一:前言

在我们的项目开发过程中,策划们可能会配置很多的数据在Json文件中,例如商城物品,随机名称等,往往这些数据会放在不同的Json文件中


二:什么是Json

Json是一种轻量级存储和交换文本信息的语法,类似XML,但是Json比XML更小、更快,更易解析


三:Json语法规则

数据在键值对中

数据之间用逗号分隔
花括号保存对象,对象与对象之间用逗号分隔
方括号保存数组

[{		"ID": 1001,		"Name": "技能1",		"damage": 10	},	{		"ID": 1002,		"Name": "技能2",		"damage": 20	}]

四:Json校验以及转换

Json校验:

Json格式转C#实体类:


五:Json解析成对象

——导入Json库文件:

——导入Json文件

[    {        "ID": "1001",        "Name": "技能1",        "Damage": 10    },    {        "ID": "1002",        "Name": "技能2",        "Damage": 20    }]

——编写代码将解析Json

//1.解析成JsonData对象后再解析成单独数据void ParseJson(){    TextAsset ta = Resources.Load
("Test"); JsonData data = JsonMapper.ToObject(ta.text); foreach (JsonData temp in data) { string id = temp[0].ToString(); string name = temp[1].ToString(); int damage = int.Parse(temp[2].ToJson()); Debug.Log(id + "-" + name + "-" + damage + "\n"); }}//2.直接解析成实体类(实体类的字段名称必须和Json的键一一对应)public class Test : MonoBehaviour{ private void Awake() { ParseJson(); } void ParseJson() { TextAsset ta = Resources.Load
("Test"); Item[] itemList = JsonMapper.ToObject
(ta.text); foreach (var temp in itemList) { Debug.Log(temp.ID + "-" + temp.Name + "-" + temp.Damage); } }}public class Item{ public string ID; public string Name; public int Damage;}

六:对象解析成Json

——导入Json库文件:

——编写实体类

public class Item{    public string ID;    public string Name;    public int Damage;}

——编写代码将实体类转换为Json

void ParseJson(){    Item item = new Item();    item.ID = "1001";    item.Name = "技能1001";    item.Damage = 99;    string json = JsonMapper.ToJson(item);    Debug.Log(json);}

转载地址:https://liuhaowen.blog.csdn.net/article/details/89395548 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Unity自带Json解析库——JsonUtility
下一篇:xLua(八)——Lua访问C#(二)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月12日 23时47分45秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章