Unity 将 class 的一部分序列化为 json

Unity serialize some part of class to json

我想将 class 的一部分发送到服务器。

发送信息

[Serializable]
public class SendingInfos
{
    public string tempID;
    public string playerLettersInHand;
    public string playerLettersMiddle;
    public int playerBet;
    public string playerLetterSent;

}

当前 temID 和 playerBet 具有价值,而其余的 null.In 这种情况下,如果我使用

        string jsondata = JsonUtility.ToJson(sendingInfos);

这个并发送。我是发送 class 中不为空的部分还是全部? 还有其他选择可以发送一部分吗?喜欢

        string jsondata = JsonUtility.ToJson({ sendingInfos.tempID, sendingInfos.playerBet  });

编辑:我想将 class 的一部分发送到服务器的原因是,尽可能保持服务器网络流量低。另外,我可能会通过将 class 分成 2 class.however 来做到这一点,如果有更简单的方法,我想这样做。

这种情况下的正常操作只是序列化整个对象。这样你就可以确保它可以在没有额外设置的情况下反序列化。 NULL 应该自动处理 AFAIK,所以当再次序列化时你应该得到相同的对象(所有值都设置为 NULL 或实际值)

您通常不会只发送一个对象的一半,因为您在发送者和接收者之间就整个对象维护合同,而不是一半或三分之一。这似乎有点奇怪,我不明白你为什么想要这个。