Warum bekam ich leere JSON-string zurückgegeben, während mithilfe von setter-und getter-in der object-Klasse in der Einheit 5.3?

Ich habe versucht, die neue JSON-Serialisierung Funktion in der Einheit 5.3, und ich schrieb das folgende code-Referenz die Verwendung z.B. Auf der Unity-website. Der einzige andere Teil, das ich gemacht habe, war das erstellen der Variablen der object-Klasse (FruitItem Klasse in meinem Fall) mit setter-und getter-anstatt Ihnen reinen public-Variablen. Dadurch habe ich nur ein paar von geschweiften Klammern ohne Inhalt. Wenn ich allerdings löschen die getter-und setter-und machen die Klasse von Variablen zu reinen public-Variablen, die ich in der Lage, um das richtige Ergebnis. Kann jemand irgendwelche Tipps für mich, warum das passiert ist? Vielen Dank im Voraus für Eure Hilfe.

Code, der funktioniert:

using UnityEngine;
using UnityEditor;
using System.Collections;
using System;

public class testJson : MonoBehaviour {


    //Use this for initialization
    void Start () {

        FruitItem myFruit = new FruitItem (){ name = "apple", price = 52, quantity = 53 };

        string jsonString = JsonUtility.ToJson (myFruit);
        Debug.Log (jsonString);

    }



    //Update is called once per frame
    void Update () {

    }
}

[Serializable]
public class FruitItem{

    //using the pure public variables and the output will be:
    //{"name":"apple","quantity":53,"price":52}

    public string name;
    public int quantity;
    public int price;

}

Code, der funktioniert nicht richtig:

using UnityEngine;
using UnityEditor;
using System.Collections;
using System;

public class testJson : MonoBehaviour {


    //Use this for initialization
    void Start () {

        FruitItem myFruit = new FruitItem (){ name = "apple", price = 52, quantity = 53 };

        string jsonString = JsonUtility.ToJson (myFruit);
        Debug.Log (jsonString);

    }



    //Update is called once per frame
    void Update () {

    }
}

[Serializable]
public class FruitItem{

    //using the pure public variables and the output will be:
    //{}

    public string name{ get; set;}
    public int quantity{ get; set;}
    public int price{ get; set;}

}
InformationsquelleAutor Ares Li | 2015-12-14
Schreibe einen Kommentar