概述
开发平台:Unity
编程平台:Visual Studio 2017 以上
编程语言:C#
前言
尽管 Unity 提供 JsonUtlity
处理 Json 类数据,但在处理大体量 Json 报文信息上,显得力不从心。于是专精于数据体积的 LitJson 是 Unity 开发者无法拒绝的高效工具包。
一、获取 LitJson 工具包
-
下载方式01:前往VS菜单栏 “工具 -> NuGet程序包”,搜索 “LitJson”,选择下载量第一即可。
-
下载方式二:前往 GitHub : LitJson 开源库 选择对应版本下载(默认选择最新)
-
下载方式三:前往 LitJson 官网下载
二、LitJson 处理 Json 数据模版
{ "FactoryName": "存储一厂", "Time": "", "Message": [{ "Name": "工字钢", "Count": 289 }, { "Name": "H型钢", "Count": 547 }, { "Name": "矩形管", "Count": 245 }]}
如上所示,这是一串应用于工业领域的数据存储的 Json 数据报文。
2.0 获取 Json 报文方式
默认情况下,通过联网获取的 Json 报文以 object
类型传递。当然,有时候这些内容被 string
预处理传递。可以在 服务器 或 本地文件夹下,建立文件存储这些文本。例如 Assets/StreamingAssets/Test/JsonExample.json
。
使用 UnityWebRequest.Get(string url)
或 File.ReadAllText(string path)
等方法阅读内容。
2.1 建立数据存储类与结构体
在 Unity 中使用 Json 数据信息,必然需要建立类或结构体以存储具体的字段、属性。程序上必然离不开构建类。针对 JsonExample.json 的具体报文格式,建立类,如下所示:
Root类:根类(命名不限制)
public class Root
{
public string FactoryName { get; set; }
public string Time { get; set; }
public List <MessageItem > Message { get; set; }
}
MessageItem类:数组数据类(命名不限制,但 Root 类中 Message 命名严格按照 Json 报文中命名)
public class MessageItem
{
public string Name { get; set; }
public int Count { get; set; }
}
LitJson 通过检索字段或属性命名检索匹配 Json 报文信息。Json 报文传递是什么键名,字段必须是这个键名。故在确认类结构上,须确认 Json 报文结构。
2.2 解析数据至类中存储
var thisClass = LitJson.JsonMapper.toObject<Root>(string jsonSTR);
LitJson 提供 JsonMapper 类方法用于处理 Json 数据,并转存至对应类。如上图所示,将 Json 数据存储至 Root 类中。该类命名 thisClass
。
2.3 获取类数据输出 Json 数据报文
var thisSTR = LitJson.JsonMapper.toJson(thisClass);
一般情况,对 Json 存储无要求的可直接使用 JsonMapper.toJson()
转为 Json 报文。但有时候,为了方便阅读 Debug 信息。需要格式化输出 Json 报文。则需要使用到 JsonWritter
处理。
var thisWritter = new LitJson.JsonWritter()
{
PrettyPrint = true,
}
LitJson.JsonMapper.toJson(thisClass, thisWritter);
JsonWritter
是服务于 Json 报文格式的类。每次实例须配置 PrettyPrint
(格式化输出)。类似于 out
用法,JsonMapper.toJson
将类 Root
输出至 thisWritter
内,进而存放至 thisWritter.TextWriter
中。
三、推荐网站
BeJson数据类型转换网站
- 优势:
- 提供免费的 Json数据 转 C#实体类 的功能服务。快速、高效处理类构建过程。
- 弊端:
- 对具体数据类型
long
等不常用无法精准识别,须手动调整。
- 对具体数据类型
最后
以上就是感动西牛为你收集整理的【教程】使用 LitJson 处理 Json 数据信息的全部内容,希望文章能够帮你解决【教程】使用 LitJson 处理 Json 数据信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复