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类型不支持,所以我们要自己转型以下

//Vector3 里面原来是float类型,但是 json 不支持float类型,所以用 double类型
public class Vector3Obj
{
     double x;
     double y;
     double z;
}

使用json的注意事项:

  • JSON字符串里的非数字型键值没有双引号
  • JSON中存在\t这样的制表符,看起来和空格一样,但是就是因为它存在校验不通过,需要去掉
  • 编辑器有bom头也会造成
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容