Приведенный ниже код дает вам json = ' {"Name": "Test", "Id": 1, "MyEnum": 3} ', если у вас есть ненулевое значение.
public enum SerializeObjTestClassEnum
{
one = 1, two, three, four
}
[Serializable]
public class SerializeObjTestClass
{
public string Name { get; set; }
public int Id { get; set; }
public SerializeObjTestClassEnum MyEnum{ get; set; }
}
public void SerializeObject_Test_Basic_Object()
{
var obj = new SerializeObjTestClass { Id = 1, Name = "Test", MyEnum = SerializeObjTestClassEnum.three };
var json = (new JavaScriptSerializer()).Serialize(obj);
}
этот код дает вам json = ' {"Name": "Test", "Id": 1, "MyEnum": 0} '
var obj = new SerializeObjTestClass { Id = 1, Name = "Test" };
Обратите внимание, что перечисление, если оно не установлено, сериализуется в 0, а само перечисление начинается с 1. Так что, как вы можете кодировать, вы можете узнать, что для перечисления использовалось значение NULL.
если вы хотите, чтобы json выглядел как ' {"Name": "Test", "Id": 1, "MyEnum": null} ', то вам понадобится подделать это с помощью обертки класса вокруг Enum.