Unity中实现解析Json文件
发布日期:2021-06-30 19:59:12
浏览次数:4
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月12日 15时50分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【转载】将Ubuntu16.04 中gedit在仅显示一个文件时显示文件名tab
2019-04-30
fstream 对象多次使用时注意clear
2019-04-30
调试 LenaCV 3D Camera (Linux)
2019-04-30
OpenCV杂记 - Mat in C++
2019-04-30
lnmp部署
2019-04-30
location区段
2019-04-30
nginx访问控制、基于用户认证、https配置
2019-04-30
用zabbix监控nginx
2019-04-30
SaltStack
2019-04-30
Jenkins 控制台输出中的奇怪字符
2019-04-30
Linux添加系统调用
2019-04-30
linux内存的寻址方式
2019-04-30
ubunut16.04的pip3出现问题,重新安装pip3
2019-04-30
how2heap-double free
2019-04-30
how2heap-fastbin_dup_consolidate
2019-04-30
orw_shellcode_模板
2019-04-30
[fmt+shellcode]string
2019-04-30
fmt在bss段(neepusec_easy_format)
2019-04-30
[double free] 9447 CTF : Search Engine
2019-04-30