我是靠谱客的博主 感动西牛,最近开发中收集的这篇文章主要介绍【教程】使用 LitJson 处理 Json 数据信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

开发平台: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 数据信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部