【问题标题】:How to write in json format from nested class or struct如何从嵌套类或结构中写入 json 格式
【发布时间】:2019-08-06 01:38:25
【问题描述】:

将嵌套 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"},年龄在哪里?!

【问题讨论】:

  • 我不使用 Unity,但我发现 this 这表明您需要在您的类上使用 [Serializable] 属性。

标签: c# json unity3d


【解决方案1】:
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}}

【讨论】:

    猜你喜欢
    • 2020-12-17
    • 2021-04-30
    • 2022-11-24
    • 2016-08-19
    • 2017-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多