c# - 如何从嵌套类或结构中写入 json 格式
问题描述
将嵌套 json 文件的结构作为嵌套类,当我写入 json 时,json 始终为空。
public class Class1
{
public int level;
public float timeElapsed;
public string playerName;
public Class2 subClass;
}
public class Class2
{
public int age;
}
Class2 class2= new Class2();
class2.age = 99;
Class1 myObject = new Class1();
myObject.level = 1;
myObject.timeElapsed = 47.5f;
myObject.playerName = "Francis";
myObject.subClass = class2;
jsonString = JsonUtility.ToJson(myObject);
print(jsonString);
我得到 {"level":1,"timeElapsed":47.5,"playerName":"Francis"},年龄在哪里?!
解决方案
using System;
using UnityEngine;
public class Example : MonoBehaviour
{
private void Start()
{
Class2 class2 = new Class2();
class2.age = 99;
Class1 myObject = new Class1();
myObject.level = 1;
myObject.timeElapsed = 47.5f;
myObject.playerName = "Francis";
myObject.subClass = class2;
var jsonString = JsonUtility.ToJson(myObject);
print(jsonString);
}
}
[Serializable]
public class Class1
{
public int level;
public float timeElapsed;
public string playerName;
public Class2 subClass;
}
[Serializable]
public class Class2
{
public int age;
}
结果是 {"level":1,"timeElapsed":47.5,"playerName":"Francis","subClass":{"age":99}}
推荐阅读
- macos - Logstash /usr/local/etc/logstash/conf.d/ 安装后文件夹不存在
- powershell - 将文件复制到工作站上的所有用户,其中文件夹具有固定到用户的唯一代码
- jasper-reports - 如何计算页面详细信息带跨越的数量?
- azure - 执行重试逻辑后显示角色分配已存在错误
- r - 如何通过从复选框组中选择状态以交互方式并排从 UI 绘制图形?
- java - 创建没有实体的spring存储库
- javascript - 如何使用 !不混淆?
- sql-server - 新手:为 SQL Server 2017 创建 dockerfile
- c++ - 了解获取非静态成员地址以形成指向成员函数的指针的错误?
- javascript - 如何使滚动到顶部的动作更流畅