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 ...
随机推荐
- Spring之AOP模块
AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的一个重要特征 Spring推荐使用接口编程 Spring提供三种拦截器:方法前拦截器.返回后拦截器.异 ...
- Hadoop学习笔记1:伪分布式环境搭建
在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下: 1.CentOS 6.7下安装JDK , 地址: http://blog.csdn.net/yule ...
- [Python]多个装饰器合并
django程序,需要写很多api,每个函数都需要几个装饰器,例如 @csrf_exempt @require_POST def foo(request): pass 既然那么多个方法都需要写2个装饰 ...
- Android Multimedia框架总结(九)Stagefright框架之数据处理及到OMXCodec过程
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52532085 不知不觉到第九篇了,感觉还有 ...
- linuxsvn源代码版本库建立
linuxsvn源代码版本库建立 下面就要建立代码的版本库做描述: 1. 安装svn版本服务器端 yum install subversion 从镜像下载安装svn服务器端,我们服务器已经安装 ...
- EPnP算法
EPnP算法 相机坐标系用\(F^c\),世界坐标系用\(F^w\)表示,任何一点可以用四个控制点\(p_i^w\)表示 \begin{equation} p_i^w=\sum_{j=1}^4\alp ...
- DBoW2算法原理介绍
本篇介绍DBoW2算法原理介绍,下篇介绍DBoW2的应用. DBow2算法 DBow2是一种高效的回环检测算法,DBOW2算法的全称为Bags of binary words for fast pla ...
- Eclipse中如何快速查看jar包中 的class源码
我们查看jar源码时,一般是安装个jd-gui,把jar拷出来,然后从jd-gui中打开jar再查看源码,这个过程不免有些麻烦,当然,本篇所讲的快速查看的方法也没什么高科技手段,只是将jd-gui集成 ...
- Java四大名著下载大全(中文+英文)
转自:http://www.blogjava.net/kuuyee/archive/2013/06/03/400084.html 抽时间整理了一下Java四大名著,分享出来方便大家学习! Note 郑 ...
- 【一天一道LeetCode】#122. Best Time to Buy and Sell Stock II
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Say you ...