【发布时间】:2017-09-19 14:37:57
【问题描述】:
我有一堂课:
using System;
[Serializable]
public class GameMessage
{
public string cmd;
public object data;
public string seedId;
public string peerId;
public GameMessage( string cmd, object data, string seedId = null, string peerId = null )
{
this.cmd = cmd;
this.data = data;
this.seedId = seedId;
this.peerId = peerId;
}
}
在我调用的代码的某个地方:
JsonUtility.ToJson(new GameMessage("chat/say", "hello!"));
执行此操作后,结果 JSON 中没有数据属性。
结果是:{"cmd":"chat/say","seedId":"","peerId":""}
怎么了?为什么数据没有出现在最终的 JSON 结构中。
data 具有 any 类型。 (可能的字符串、自定义对象、浮点数、数组等...)
编辑:我正在为我的数据寻找一些带有序列化和反序列化的解决方案,因为JsonUtility 不支持所有原始数据类型作为数据的根,并且只需要解析@987654326 @对象。
【问题讨论】:
-
尝试将您的数据作为字符串。转换为字节数组再转换为字符串
-
但是如何反序列化
byte []数据类型呢?如果可以,请提供 sn-p 您的答案 -
糟糕,我编辑了评论。它应该是字符串。
-
字符串不行,因为
JsonUtility无法将字符串反序列化为数组,例如...我试过了 -
“数据有任何类型。(可能是字符串、自定义对象、浮点数、数组等)” ...
JsonUtility无法序列化/反序列化 @987654330 @ 类型。您必须给出该对象的类型。