Unity C# 使用JsonUtility读写Json文件
本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/7146731.html
今天,为大家分享一下unity上的Json序列化,应该一说到这个词语,我们肯定会觉得,这应该是很常用的一个功能点;诚然,我们保存数据的时候,也许会用到json序列化,所以,我们有必要快速了解一下它的简单用法。
1.首先,我们直接新建unity项目,然后新建一个InputData.cs 数据结构类;
代码如下:
1 [Serializable]
2 public class InputData
3 {
4 public InputDataEntry[] data;
5 }
6
7 [Serializable]
8 public class InputDataEntry
9 {
10 public string name;
11 public int age;
12 }
2.然后建一个AppManager.cs的组件类

AppManager.cs 代码如下:
1 public class AppManager : MonoBehaviour {
2
3 InputData _inputDate = new InputData ();
4
5 InputData inputDate
6 {
7 get
8 {
9 return _inputDate;
10 }
11 set
12 {
13 _inputDate = value;
14 }
15 }
16
17 string path;
18 bool truename;
19
20 void Start ()
21 {
22 path = Application.dataPath + "/Resources/inputdate.json";
23
24 if (LoadFromFile () != null)
25 inputDate = LoadFromFile ();
26 }
27
28 InputData LoadFromFile()
29 {
30 if (!File.Exists (path))
31 return null;
32
33 StreamReader sr = new StreamReader (path);
34
35 if (sr == null)
36 return null;
37
38 string json = sr.ReadToEnd ();
39
40 if (json.Length > 0)
41 return JsonUtility.FromJson<InputData> (json);
42
43 return null;
44 }
45
46
47 void OnApplicationQuit ()
48 {
49 string json = JsonUtility.ToJson (inputDate, true);
50 File.WriteAllText (path, json, Encoding.UTF8);
51 }
52
53 public void RangNumber()
54 {
55 InputDataEntry[] ide = new InputDataEntry[1];
56 ide [0] = new InputDataEntry ();
57 ide [0].age = Random.Range (18, 26);
58
59 if (truename)
60 truename = false;
61 else
62 truename = true;
63
64 ide [0].name = truename ? "AdvancePikachu" : "进击的皮卡丘";
65 inputDate.data = ide;
66
67 Debug.Log ("age :" + ide [0].age + "\n name :" + ide [0].name);
68 }
69 }
3.然后,我们可以直接运行编辑器看效果!

如下的json文件的内容:

大致的读取与写入功能已经写好,详细的内容与具体的实现就不罗嗦了!
Unity C# 使用JsonUtility读写Json文件的更多相关文章
- python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. 1.json.dumps()和json.loads()是json ...
- 在Unity中使用LitJson解析json文件
LitJson 这个库需要找资源,找到LitJson.dll后将它放在Assets文件夹下,在脚本中使用using引入即可 测试代码 json文件: {"Archice":[{&q ...
- iOS 如何用JSONKit读写JSON文件
如何用JSONKit读写JSON文件 分类: ios2013-04-20 12:46 510人阅读 评论(0) 收藏 举报 JSON文件格式简单,使用方便,值得一用. 目前已经有多个库支持Json文 ...
- python 读写 json文件
json的优势: 1. 数据体积方面. JSON相对于XML来讲,数据的体积小,传递的速度更快些. 2. 传输速度方面. JSON的速度要远远快于XML 3. 数据格式 数据格式比较简单, 易于读写, ...
- java如何读写json文件
在实际项目开发中,有时会遇到一些全局的配置缓存,最好的做法是配置redis数据库作为数据缓存,而当未有配置redis服务器时,读取静态资源文件(如xml.json等)也是一种实现方式,但是这有一个弊端 ...
- Unity 用C#脚本读取JSON文件数据
读取JSON文件数据网上有很多方法吗,这里采用SimpleJSON,关于SimpleJSON的介绍参考以下链接:http://wiki.unity3d.com/index.php/SimpleJSON ...
- node读写json文件(进阶)
该方法可用于修改配置文件,直接上代码 fs.readFile('test1.json','utf8',function (err, data) { if(err) console.log(err); ...
- C++通过jsoncpp类库读写JSON文件-json用法详解
介绍: JSON 是常用的数据的一种格式,各个语言或多或少都会用的JSON格式. JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择. ...
- Python3读写JSON文件
JSON简介 JSON(JavaScript Object Notation)即JavaScript对象表示法,一种轻量级,通用的文本数据格式. JSON语法支持对象(Object),数组(Array ...
随机推荐
- InnoDB记录压缩及使用分析
此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 这篇文章,源于RDS组内的一次饭后闲聊,两位小伙伴在探讨InnoDB启用压缩后的种种,比如在磁盘上是怎么存放 ...
- (原创)E - Straight Shot Gym - 101652R
解题思路:这道题的题意就是给你n,总距离X,速度v:以及n组数据:人行道的左端点和右端点,以及人行道的速度(竖直方向),如果从(0,0)到(X,0)的时间小于2X/v,则输出其时间,否则输出”Too ...
- c++语言的学习笔记代码与笔记注释《函数部分》
具体的笔记以注释的形式写在代码内,每个知识点用函数的形式表现. #include <iostream>; #include<cmath> const double PI=3.1 ...
- 【bzoj2190】: [SDOI2008]仪仗队 数论-欧拉函数
[bzoj2190]: [SDOI2008]仪仗队 在第i行当且仅当gcd(i,j)=1 可以被看到 欧拉函数求和 没了 /* http://www.cnblogs.com/karl07/ */ #i ...
- 【转】在Asp.net前台和后台弹出提示框
源地址:http://blog.sina.com.cn/s/blog_5200dd680100mkk0.html
- [Swift实际操作]九、完整实例-(6)创建App欢迎界面
本文创建一个位于导航控制器之内的欢迎页面,该页面主要用来向用户简要介绍产品的功能.以及提供主要功能的入口. 首先选择自定义视图文件夹[CustomViews],需要在该文件夹下,导入一款第三方类库.该 ...
- [USACO08OCT]牧场散步Pasture Walking BZOJ1602 LCA
题目描述 The N cows (2 <= N <= 1,000) conveniently numbered 1..N are grazing among the N pastures ...
- Canvas制作动态进度加载水球
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Flask&&人工智能AI -- 7 MongoDB
MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器.“$”的奇妙用法,Array Object的特殊操作,选取跳过排序,客户端操作 一.MongoDB初识 什么是MongoDB Mong ...
- shell入门基础必备
作者:KornLee 2005-02-03 15:32:57 来自:Linux先生 1.建立和运行shell程序 什么是shell程序呢? 简单的说shell程序就是一个包含若干行 shel ...