Unity中使用json序列化失败

  • 问题
//为什么用json序列化这样没得问题
 Dictionary<string, int> dic = new Dictionary<string, int>();
 dic.Add("1", 1);
 string strJson = LitJson.JsonMapper.ToJson(dic);

//这样有问题
 Dictionary<int, int> dic2 = new Dictionary<int, int>();
 dic2.Add(1, 1);
 string strJson2 = LitJson.JsonMapper.ToJson(dic2);
 Debug.Log(strJson2);
  • 解决方法

json 序列化时不支持结构体,比如Unity 中的Vector3类型不支持,所以我们要自己转型以下

  

1 //Vector3 里面原来是float类型,但是 json 不支持float类型,所以用 double类型
2 public class Vector3Obj
3 {
4      double x;
5      double y;
6      double z;
7 }
  • 使用json的注意事项
  1. - JSON字符串里的非数字型键值没有双引号
  2. - JSON中存在\t这样的制表符,看起来和空格一样,但是就是因为它存在校验不通过,需要去掉
  3. - 编辑器有bom头也会造成

原文地址:https://www.cnblogs.com/shingkwan/p/8327554.html

时间: 2024-10-10 01:09:58

Unity中使用json序列化失败的相关文章

.net2.0中的Json序列化数据

在.net3.0中序列化数据只需引用System.Web.Extensions.dll, 命名空间里引用了System.Web.Script.Serialization JavaScriptSerializer jss = new JavaScriptSerializer(); jss.Serialize(list);即可!! 但在2.0中没有System.Web.Extensions.dll,所以不能像在3.0里那样用了,我的方法是换一个序列化类,Json.Net支持.net 2.0,进入点击

转载:在ASP.net 3.5中 用JSON序列化对象(两种方法)

asp.net3.5中已经集成了序列化对象为json的方法. 1:System.Runtime.Serialization.Json;    2:System.Web.Script.Serialization两个命名空间下的不同方法进行序列化和反序列化. 第一种方法:System.Runtime.Serialization.Json public class JsonHelper    {        /// <summary>        /// 生成Json格式        /// 

Asp.Net Core中Json序列化处理整理

一.Asp.Net Core中的Json序列化处理使用的是Newtonsoft.Json,更多参考:C# Newtonsoft.Json JsonSerializerSettings配置序列化操作,C# Json序列化工具--Newtonsoft.Json简介和使用 1.Newtonsoft.Json仅 依赖.Net Standard所以支持.Net Framework也支持.Net Core 2.更多说明 /* * 1.在Core Mvc中JsonResult 默认支持Get请求 * 2.使用

json序列化和反序列化案例

JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍,ASP.NET如何序列化和反序列化的处理,在序列化和反序列化对日期时间.集合.字典的处理. 序列化简单理解为:把集合.数组等里的数据变成字符串 反序列化简单理解为:把字符串还原成集合,数组等对象. 1.对JSON数据进行序列化和反序列化 方法一: 可以使用DataContractJsonSeria

转:Json序列化和反序列化

JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍 ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍,ASP.NET如何序列化和反序列化的处理,在序列化和反序列化对日期时间.集 合.字典的处理.     一.JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式. JSON是“名值对”的集合.结构由大括号'{}',

关于Unity中常用的数据结构和JSON处理(专题三)

数据结构通俗来讲就是用某个对象去存储数据集合,比如要存储100个整数,要用什么样的数据类型能把它们存储好. Jason处理,服务器对接,配置文件的使用,Unity和Jason之间相互的转换. Array 数组 1: 类型[] 名字 = new 类型[数量]{"初始化的值", "", ''"}; 如果有初始值也可以省略大小;2: 优点: (1)内存连续,速度快; 3: 缺点: (1)大小固定,容易访问越界; Array实例 1.创建Unity项目和文件目录,

【原创】在Unity中关于多态转换与序列化保存的细节

在Unity中关于多态转换与序列化保存的细节 环境: 在unity中为类变量分类. [System.Serializable] public class dllProperty { public int num1 = 1; public string name1 = "dll"; public bool isOn = false; } [System.Serializable] public class myProperty : dllProperty { public int num

C#中JSON序列化和反序列化

json序列化和反序列化帮助类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.IO; using System.Text.RegularExpressions; using System.We

Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web API中的JSON和XML格式化器. 在ASP.NET Web API中,媒体类型格式化器(Media-type Formatter)是一种能够做以下工作的对象: 从HTTP消息体读取CLR(公共语言运行时)对象 将CLR对象写入HTTP消息体 Web API提供了用于JSON和XML的媒体类