c# - Unity将对象序列化为Json
问题描述
我试图在 Unity 中简单地将对象序列化为 json。我找到了几篇关于这个主题的文章,但似乎没有任何效果。它不会直接抛出异常,但不会将对象转换为 json 字符串。我已经对这些进行了大量研究并尝试了各种样本。我不确定问题是类还是调用转换为 json 的逻辑。我可以使用 .net 轻松转换,但这是针对 MonoScript 中的 Unity,所以过程似乎有点不同。我假设当您将对象转换为 json 字符串时,它不应该将基数列为“null”。它还在转换后传入一个空的 json 字符串。
用户登录类:
using UnityEngine;
using System.Collections;
using System;
[Serializable]
public class UserLogIn : MonoBehaviour
{
public string Email;
public string Password;
}
这是我在统一脚本中的代码:
private UserLogIn _LogIn = new UserLogIn();
public void SetText(string text)
{
//[SerializeField]
//UserLogIn _LogIn = new UserLogIn();
//WhiteBoxGamingTestRequest();
_LogIn.Email = "testemail@gmail.com";
_LogIn.Password = "12345";
string json = JsonUtility.ToJson(_LogIn);
Debug.Log(json);
//User_LogIn(_login);
//text = _bolResponse.ToString();
//Text txt = transform.Find("Text").GetComponent<Text>();
//txt.text = text;
}
我试过这个: 在 Unity 中序列化和反序列化 Json 和 Json 数组
似乎仍然无法正常工作。寻找建议或更正。
转换后 json = {} 它应该是一个包含值的字符串。Unity的json转换器坏了吗?
解决方案
我终于找到了答案。为了在 Unity 中创建一个可转换为 json 的对象,它似乎需要是一个常规的 c# 对象。我不确定你为什么不能使用 Mono Behavior,但这似乎是我课堂上的问题。所以我希望这对将来的其他人有所帮助,因为 Unity 网站就像泥泞一样清晰。
[System.Serializable]
public class UserLogIn
{
public string Email;
public string Password;
}
这是 json 字符串转换后的样子:
{"Email":"testemail@gmail.com","Password":"12345"}
还想在 7:43 左右将此视频归功于它,您可以开始查看转换过程https://youtu.be/oJrAT8L4BrA
推荐阅读
- python - 在熊猫数据透视表中设置多级索引
- javascript - 如何填充嵌套数组引用?猫鼬
- node.js - 从 getSignedUrl 返回的 URL 不起作用
- c# - 创建随机字符串并检查其在 DB 中的唯一性
- python - Django - 管理界面 - 允许为非超级用户创建用户
- java - 将应用程序从 Windows 迁移到 Linux 后出现 CRLF 文本格式问题
- regex - 提取具有特定模式的部分行并使用 bash 对数字求和
- php - 如何根据当前登录的用户显示所有数据
- oracle - 更新 Oracle PL SQL 包导致 ORA 04021 错误
- javafx - 如何将文件路径从 FileChooser 按钮传递到另一个按钮?