Unity——LitJSON的安装

2023-11-12

一、LitJSON介绍

特点

LitJSON是一个轻量级的C# JSON库,用于在Unity游戏开发中进行JSON数据的序列化和反序列化操作。它提供了简单而高效的接口,帮助开发者处理JSON数据。

以下是LitJSON库的一些主要特点和功能:

1. 高性能:LitJSON使用高效的序列化和反序列化算法,能够在处理大量JSON数据时保持良好的性能。

2. 简单易用的API:LitJSON提供了简单直观的API,使开发者能够轻松地将JSON数据转换为对象,或者将对象序列化为JSON格式。

3. 支持标准的JSON格式:LitJSON支持标准的JSON数据格式,包括对象、数组、字符串、数字、布尔值等。

4. 支持嵌套和复杂数据结构:LitJSON可以处理嵌套的JSON数据结构,包括多层对象和数组。

5. 扩展性和灵活性:开发者可以通过自定义扩展来适应自己的项目需求,例如自定义的类型转换器和格式化器。

使用LitJSON库可以方便地处理JSON数据,例如解析来自服务器的JSON响应、保存和加载游戏配置数据、与其他系统进行数据交换等。通过减少手动解析和构建JSON数据的工作量,可以提高开发效率和代码可读性。

主要用于Unity

LitJSON主要用于Unity游戏开发。它是为Unity引擎设计的,可以方便地在Unity项目中处理JSON数据。由于Unity支持C#编程语言,而LitJSON是一个C#库,因此可以轻松地将LitJSON集成到Unity项目中。

LitJSON提供的API和功能与Unity的编程模型相匹配,使得在Unity中使用LitJSON更加便捷。可以利用LitJSON库将Unity游戏中的数据进行序列化和反序列化,例如解析来自服务器的JSON响应、读取和保存游戏配置数据、处理存档文件等。

需要注意的是,虽然LitJSON主要用于Unity游戏开发,但它也可以在其他C#项目中使用,只要是需要处理JSON数据的场景,都可以考虑使用LitJSON库。

二、安装LitJSON库

1、导入第三方程序包

假设已经有了像LitJSON这样的库,现在只需要在Unity的Assets文件夹下新建一个名为Plugins的文件夹,再将LitJson.dll文件复制到Plugins文件夹下即可,完成之后Unity会像添加新脚本一样自动编译工程,编译之后就可以使用了。

LitJSON等纯.NET库使用比较方便,而某些库由于是用平台原生语言编写的,因此不同的平台上要使用不同的版本。

例如,常用的Lua语言库toLua,就需要针对X86、X86_64、iOS、Android编译不同版本的动态链接库,并分别放在相应的子文件夹下。

导入完成后就可以编写一个简单的测试程序进行测试,其示例如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;

public class TestJson : MonoBehaviour
{
   
    void Start()
    {
        JsonData json = new JsonData();
        json["a"] =3;
        json["b"] =2;
        Debug.Log(json.ToJson());
    }

  
}

如果库导入陈工,则不会出现编译错误。而且挂载到物体上运行后,会在Console窗口输出“{”a“:3,"b":2}"

2、下载JSON库的一种方法

历史上出现过常用的库和引擎被植入木马,导致大量用户隐私泄露。因此游戏开发者也应当具有足够的网络安全意识,在引入第三方库时,尽可能验证来源,不要下载或导入来历不明的第三方库。

LitJSON作为一种常用的库,已经加入了NuGet包管理器中。除了可以在一些可靠渠道下载到LitJSON.dll,也可以从NuGet包管理器中获取。NuGet包管理器包含了大量可用的程序库,掌握它对了解和获取其他程序库也有帮助。下面将介绍使用NuGet包管理器下载LitJSON库的方法。

  1. 通过Unity脚本的方式启动Visual Studio,或启动Visual Studio后新建任意类型的C#语言项目,如C#控制台项目。
  2. 选择Visual Studio主菜单的工具→NuGet包管理器→管理解决方案的NuGet程序包。
  3. 打开管理页面后,单机左上角预览标签,搜索”LitJson“就可以找到LitJson库
  4. 选中LitJson库,在左侧窗口中勾选当前使用的项目,然后点击安装。。
  5. 用资源浏览器打开工程所在文件夹。无论是Unity工程还是控制台工程,都可以在工程根目录下找到Packages文件夹,再找到Packages\LitJson\lib文件夹,里面会有根据.NET版本区分的多个文件夹。
  6. 找到NET文件夹下的LitJSON.dll,他就是所需要的动态链接文件了。把这个文件用前文的方法放在Plugins文件夹下即可
  7. 获取到库之后,建议删除Packages\LitJson文件夹。

 

 3.查看.NET版本的方法

不同版本的Unity默认的Mono虚拟机版本不同,可能需要导入不同版本的程序库。选择主菜单的Edit→Project Settings,打开Project Settings,选择左侧Player(播放器,)然后再右侧的Other Settings中找到Scripting Runtime Version,可以看到当前脚本运行环境的版本

也可以用脚本来查看,可以在脚本中通过以下方式来查看:

string unityVersion = Application.unityVersion;
Debug.Log("当前Unity版本:" + unityVersion);

这样就能够在Unity编辑器的控制台中看到当前脚本运行环境的版本信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity——LitJSON的安装 的相关文章

  • 如何外部化 json-ld 并包含在 html 文档中

    是否可以外部化 json ld 并将其包含在 html 文档中 如下所示 网上好像没有这方面的文档 你不能那样做 你应该得到json与AJAX要求 你可以轻松做到jQuery JS function getJSON data123 json
  • 如何在 Go 中从 stdin 解析无限 json 数组?

    我正在尝试编写一个 i3status 的小替代品 一个与 i3bar 兼容的小程序进行通信this http i3wm org docs i3bar protocol html协议 他们通过标准输入和标准输出交换消息 两个方向的流都是一个无
  • 如何从文本文件中检索多个 JSON 对象,其中对象*不*由分隔符分隔?

    我有数千个包含多个 JSON 对象的文本文件 但不幸的是这些对象之间没有分隔符 这些对象存储为字典 其中一些字段本身就是对象 每个对象可能具有可变数量的嵌套对象 具体来说 一个对象可能如下所示 field1 field2 some valu
  • 改造2:使用json对象发送文件

    我在请求正文中发送对象 如下所示 title test description test images POST create data Call
  • React Native 中循环 Json 并显示

    How do I go about looping the result i retrieved from Json render function console log this state list contents
  • Android - 下载 JSON 数据并保存到共享首选项

    我正在从 PHP 服务读取 JSON 数据 每当该 JSON 的版本发生变化时 我想将其存储在 Android 上 用新数据替换旧数据 JSON 仅用于填充 Spinner 我的问题是 JSON 有 36KB 可以将其存储在共享首选项中有一
  • 在 JSON 对象中存储和发送原始文件数据

    我正在寻找一种方法来传输任何文件类型的原始文件数据和任何可能的内容 我的意思是文件和文件内容都是用户生成的 在 Backbone 前端中使用 xhr ajax 调用两种方式针对 Django 后端 编辑 也许问题仍然不清楚 如果您在 IDE
  • Emoji 字符无法编码为 JSON

    我有一个UITextView我称之为messageField 其中的数据messageField is POST ed 以 JSON 格式发送到服务器 当用户输入表情符号字符时 我无法将数据编码为JSON 我认为 Emoji 使用 Unic
  • 如何通过填充 NSDictionary 以 JSON 格式发送 UIImage

    我正在尝试使用 JSON 将数据发送到服务器 我可以使用我的对象和关键参数创建 NSDictionary 但我想发送我的图片 图片是UIImage NSDictionary mainJSON NSDictionary dictionaryW
  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • BigQuery 如何获取 JSON 结构中的值的总和?

    我有以下查询 SELECT JSON EXTRACT json Weights as weight from select Weights blue 1 0 purple 0 0 yellow 1 0 green 1 0 as json 返
  • 在 Django 模板中通过键访问字典

    我正在将字典从我的视图传递到模板 所以 key1 value1 key2 value2 传入并循环键 值对很好 但是我还没有找到从特定键直接在视图中访问的优雅解决方案 例如 key1 例如 bu json items key1 我可以使用一
  • R:将 JSON 时间格式转换为 POSIX

    我有一个 JSON 字符串 并将其放入数据框中 我能够做到这一点 但我在使用 apply 函数之一将所有时间字符串转换为 POSIX 格式时遇到问题 See here https stackoverflow com questions 90
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS
  • 如何使用 tqdm 实现 JSON 文件加载进度条?

    我正在编写一个用于 JSON 文件处理的 Python 脚本 它基本上分为三个过程 加载 编码和打印 虽然我已经使用 tqdm 轻松创建了用于编码和打印的进度条 但我不知道如何进行加载 我已经彻底阅读了 tqdm 文档 甚至在这里进行了搜索
  • 使用 swagger-ui-express 和 swagger-jsdoc 时如何在 swagger 文件中正确使用 $ref

    我开始使用 swagger 与swagger ui express and swagger jsdoc自动记录我现有的 API 它是用nodejs并表达 就像这里描述的那样 example http www acuriousanimal c
  • jQuery.getJSON:如何避免在每次刷新时请求 json 文件? (缓存)

    在此示例中 您可以看到生成的 HTML 列表 每次刷新时 脚本都会请求数据文件 ajax test json 并再次构建列表 生成的文件 ajax test json 被静态缓存 但是如何避免在每次刷新时请求此文件 source jquer
  • Spring Rest POST Json RequestBody 不支持内容类型

    当我尝试使用 post 方法发布新对象时 RequestBody 无法识别 contentType Spring 已经配置完毕 POST 可以与其他对象一起使用 但不能与这个特定对象一起使用 org springframework web
  • 将 JSON 文件拆分为单独的文件

    我有一个大的 JSON 文件 它是对象的对象 我想将其拆分为对象键后的单独文件名 是否可以使用 jq 或任何其他现成工具来实现这一目标 原始 JSON 格式如下 item1 item2 鉴于此输入 我想生成文件 item1 json ite

随机推荐

  • html获得焦点和失去焦点

  • 基于OpenCV3.0图像处理中常见的五个滤波函数

    初学OpenCV的开发者很容易被OpenCV中各种滤波方法所困扰 不知道到底该用哪里一个来做滤波 表面原因看起来是因为OpenCV中各种滤波方式实在是太多太杂 其背后原因是对各种滤波方法的应用场景认知出现了问题 所以这里小编从应用场景与项目
  • Vue毕业设计选题 游戏攻略资讯补丁售卖商城(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 3 系统结构设计 4 项目获取 1 项目简介 Hi 各位同学好呀 这里是M学姐 今天向大家分享一个今年 2022 最新完成的毕业设计项
  • 云中 GPU的AI训练,显卡分配

    AI 模型的训练 模型并行 就是把模型就行分层级 model model layer 0 model layer 1 model layer 2 model layer 3 比如 一个主机有4个CPU CPU0 CPU1 CPU2 CPU3
  • 超详细!百度富媒体检索比对系统的关键技术

    导读 百度富媒体检索比对系统是一套基于 Ann approximate nearest neighbor 检索和内容特征比对技术 旨在提供针对图像 音频 视频等多媒体资源的相似检索系统 包括离线训练 建库 在线特征提取 检索 目前百度富媒体
  • minikube 快速使用入门 - 启动 - 2

    快速使用 启动Minikube 执行命令 如下 minikube start 执行之后系统开始安装minikube 如图所示 上面显示正在下载安装包 进行安装 因为请求链接的是外网 应该会有点慢 可以使用如下命令 minikube exe
  • 三分钟学会国产低功耗华大单片机二(MDK中下载与仿真)

    一 准备工作 使用micro USB 将开发板与电脑相连 打开一个已经存在的工程 工程如何建立请参考 三分学会国产低功耗华大单片机一 MDK中新建工程 二 工程的编译 点击魔法棒图标如下图所示 点击Device在芯片型号选择框中选中所选单片
  • Autofac与WebApi集成

    目录 Autofac原理 如何将Autofac与Web API集成 Autofac功能详解 1 HttpConfiguration 2 控制器 3 解析器 4 过滤器 1 注册过滤器提供程序 2 实现过滤器接口 3 注册过滤器 4 过滤器覆
  • React结合Ant Design Pro开发项目理解(service、model、index等文件逻辑关系)

    组件中传值 react 值写在了视图层 Antd pro 值写在model层 通过saveState扩展表达式 把值更新到state后会触发视图层的render方法 通过props获取model中的值 下图是整个项目各模块的关系 大概流程是
  • 基于AntDesign实现的React.js自定义可编辑表格,带翻译功能

    基于React AntDesign实现的一个自定义的可编辑表格 主要用于数据库表字段的编辑 带翻译功能 稍作修改后也可复用到其他地方 主要包括三个文件 index js EditableTable js EditableTable less
  • Matlab R2018b激活教程

    最近重装了系统 又正好需要用一下Matlab 所以就来研究一下如何激活 目前Matlab最新的版本是R2018b 所以我找的也是R2018b的激活教程 再次提醒 如果有条件请支持正版 资源准备 很幸运 我发现已经有人将Matlab R201
  • Linux文件操作命令及磁盘分区与文件系统

    一 cd命令 cd change directory 切换目录 这是用来切换工作目录的命令 注意目录名称和cd命令之间存在一个空格 在介绍cd命令的时候 首先我们来了解相对路径和绝对路径 绝对路径 路径的写法 一定由跟目录 写起 例如 da
  • QTabWidet设置不同Position,tabBar文字均水平显示

    设置QTabWidget在不同方向上的文字均水平显示 有两种方法 如下 1 设置不同Position tabBar文字均水平显示 QTabWidget设置在设置Position为East或者West时 文字方向默认会从下到上显示 先通过以下
  • Connection Refused Error:[WinError 10061]

    问题 Vscode左边栏选项 运行和调试 运行Python Django 程序报错 sock connect host port ConnectionRefusedError WinError 10061 由于目标计算机积极拒绝 无法连接
  • js数据类型学习笔记

  • Scala安装与环境配置

    一 Scala和Python java的区别 Scala是一门多范式编程语言 用于操作Spark 相较于java 由于Spark底层用Scala编写 因此对于大数据Spark项目场景Scala代码更加简洁 java过于冗长 并且Scala支
  • 自编码器(Auto Encoder)原理及其python实现

    目录 一 原理 二 为什么要使用自编码器 三 代码实现 1 原始自编码器 2 多层 堆叠 自编码器 3 卷积自编码器 4 正则自编码器 4 1稀疏自编码器 四 降噪自编码器 五 逐层贪婪训练堆叠自编码器 参考 一 原理 自编码器由两部分组成
  • Android-数据存储(上)

    一 Debug调试 1 跟踪程序的运行过程 找出问题出现的地方 更快的解决问题 bug 2 梳理已有功能代码的运行逻辑流程 二 数据存储 1 sp存储 2 手机内部存储 3 手机外部存储 三 练习
  • java中定义byte数组,浅谈java的byte数组的不同写法

    由于篇幅原因阐述的不够详细科学 不喜勿喷 经常看到java中对byte数组的不同定义 粗略整理的一下 一个字节 byte 8位 bit byte数组 里面全部是 byte 即每一个byte都可以用二进制 十六进制 十进制来表示 二进制 00
  • Unity——LitJSON的安装

    一 LitJSON介绍 特点 LitJSON是一个轻量级的C JSON库 用于在Unity游戏开发中进行JSON数据的序列化和反序列化操作 它提供了简单而高效的接口 帮助开发者处理JSON数据 以下是LitJSON库的一些主要特点和功能 1