Unity 数据Json格式的转换
把对象转换为字节序列的过程称为对象的序列化。
把字节序列化恢复为对象过程称为对象的反序列化。
JSON格式的转换,是一大神给我说的,让我拿来存储数据库时对一些数据的处理,感觉特别好用。但是我并没有深入的去学习,这里只是最简单的应用,以下就是一个简单的示例程序。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Newtonsoft.Json; //需要下载Newtonsoft.Json.dll文件,放在Plugins文件夹下
using System.IO; public class json : MonoBehaviour { // Use this for initialization
void Start () {
writeTxt();//调用写入文本函数
StartCoroutine(testJson());//调用读取函数
} void writeTxt()
{
MapPosList maplist = new MapPosList();
maplist.points = new List<GetPointXY>();
maplist.points.Add(new GetPointXY(100, 78));
maplist.points.Add(new GetPointXY(54, 121));
maplist.points.Add(new GetPointXY(56, 845));
maplist.points.Add(new GetPointXY(221, 56));
maplist.points.Add(new GetPointXY(454, 23));
maplist.points.Add(new GetPointXY(10, 12));
maplist.points.Add(new GetPointXY(45, 65));
maplist.points.Add(new GetPointXY(898, 887));
//用json将一个对象转成一个字符串
string str = JsonConvert.SerializeObject(maplist); //下面将这个字符串写入本地文本
StreamWriter sw;
FileInfo t = new FileInfo("Assets/Streaming Assets/test.txt");
if (!t.Exists)
{
sw = t.CreateText();
}
else
{
sw = t.AppendText();
}
sw.Write(str);
sw.Close();
sw.Dispose();
}
IEnumerator testJson()
{
WWW w = new WWW("file:///D:/Test/Assets/Streaming Assets/test.txt");
yield return w; string str = w.text.Trim();
//通过json将字符串转换成一个对象
MapPosList data = JsonConvert.DeserializeObject<MapPosList>(str);
Debug.Log(data.points[0].xPosition);
yield return null;
} }
public class GetPointXY
{
public float xPosition;
public float yposition;
public GetPointXY(float x, float y)
{
this.xPosition = x;
this.yposition = y;
}
}
public class MapPosList
{
public List<GetPointXY> points;
}
这里最重要的就是JSON的两个函数:
JsonConvert.SerializeObject//将对象转换为字符串
JsonConvert.DeserializeObject//将字符串恢复为一个对象
这里备份一个Newtonsoft.Json.dll的下载链接,好像各版本都有:
http://yunpan.cn/cK5Ih7aMmy4ZH 访问密码 b6a4
Unity 数据Json格式的转换的更多相关文章
- JavaBean到JSon格式的转换例子的代码
内容过程,把做工程过程较好的内容片段备份一次,如下的内容是关于 JavaBean到JSon格式的转换例子的内容,应该对各朋友有一些用处. User u = new User(); u.setId(1) ...
- Highmaps的天津地图数据JSON格式
Highmaps的天津地图数据JSON格式 Highmaps的天津地图数据JSON格式 下载链接: http://pan.baidu.com/s/1eQgxECU password: tjmj 天津地 ...
- python 把数据 json格式输出
有个要求需要在python的标准输出时候显示json格式数据,如果缩进显示查看数据效果会很好,这里使用json的包会有很多操作 import json date = {u'versions': [{u ...
- ABAP 中JSON格式的转换与解析
RT,JSON是当今十分流行的一种轻量数据格式,广泛地应用于各种数据交换场景中.本文会介绍一种比较简单的将ABAP中的数据转换为JSON格式的方法. (如果你是因为引号的问题搜索到了这篇文章,请直接拉 ...
- Python-字符串str和json格式的转换
str转json str转换为json格式,前提一定需要保证这个str的格式和json是一致的,即左边最外层是大括号,右边的最外层是大括号.如果不一致,推荐用正则进行拆分至和json格式一致1. 通过 ...
- List转换成json格式字符串,json格式字符串转换成list
一.List转换成json字符串 这个比较简单,导入gson-x.x.jar, List<User> users = new ArrayList<User>(); Gson g ...
- 轻量级交互数据json格式初探
[w3cschool tydef]什么是 JSON ?JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)JSON 是轻量级的文本数据交换格式JS ...
- 接口返回数据Json格式处理
有这样一个页面 , 用来显示用户的账户记录数据,并且需要显示每个月的 收入 支出合计 ,在分页的时候涉及到一些问题,需要对返回的Json格式做处理,处理起来比较麻烦,后端返回的Json数据格式形式如下 ...
- js中实现json格式的转换
function person(id,name,age){ this.id=id; this.name=name; this.age=age; } var p=new person(1001,'tom ...
随机推荐
- 理解 Linux 的硬链接与软链接
Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键盘 ...
- iOS开发之自己封装的提示框(警告框)样式BHAlertView
最近需要使用到提示框(警告框)进行信息的展示和提醒,所以进行了一个类的封装,想用Swift调用此OC文件,但是发现有些困难,所以暂时先把OC代码进行展示,随后再好好研究一下在Swift中的使用. 对于 ...
- 剑指Offer--排序算法小结
剑指Offer--排序算法小结 前言 毕业季转眼即到,工作成为毕业季的头等大事,必须得认认真真进行知识储备,迎战笔试.电面.面试. 许久未接触排序算法了.平时偶尔接触到时自己会不假思索的百度,然后就是 ...
- Android开发优化之——使用软引用和弱引用
Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期.这四种级别由高到低依次为:强引用.软引用.弱引用和虚引用. 这里重点介绍一下软引用和弱引用. 如果 ...
- 【java集合框架源码剖析系列】java源码剖析之ArrayList
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 本博客将从源码角度带领大家学习关于ArrayList的知识. 一ArrayList类的定义: public class Arr ...
- Linux中printk()实例
新建hello.c #include <linux/kernel.h> #include <linux/module.h> int init_module(void) { pr ...
- android sdutio常用快捷键
快捷键 说明 F2 定位到高亮错误或警告的位置 F4 若选中项目,打开 Project Struture F5 复制文件 Alt+F3 选中文本,逐个往下查找相同文本,并高亮显示 Alt+F1 可以将 ...
- android 标准OTA升级流程
标准的OTA升级流程包括一下几个步骤: 1.Android设备首先会与OTA服务器进行交互,如果有更新会推送给客户.推送的信息常常会包含OTA更新包的下载地址和一些版本信息. 2.Update程序会将 ...
- Web Service进阶(一)运行原理
利用清明小假期,温习了一遍Web Service的相关内容,对其工作原理进行了简要总结.以供有需求的朋友和自己日后参考.文章若有不当之处,敬请朋友们提出宝贵建议,以求共勉. Web服务中,我们应该首先 ...
- 测试adb功能(后续学习会不断添加)
在安卓中最常用来调试的工具就是ADB,废话不多说,看看几个常用的ADB命令: 1.查看设备的连接状态 在windows cmd中输入 adb devices 会显示设备的相关信息. 2.adb she ...