我正在尝试将对象简单地序列化为Unity中的json。我已经找到了有关该主题的几篇文章,但似乎没有任何效果。它不会直接引发异常,但不会将对象转换为json字符串。我已经研究了很多,并尝试了各种样本。我不确定问题是类还是调用convert to 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;
}
我已经尝试过了: Serialize and Deserialize Json and Json Array in Unity
似乎无法正常工作。寻找建议或更正。
转换后json = {},它应该是包含值的字符串。 Unity的json转换器损坏了吗?
答案 0 :(得分:0)
我终于找到了答案。为了在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