PowerJSON 是 fastJSON 的一个扩展版本,提供一些新方法、类和接口,以及对发现的问题进行修复。详细列表请看这里。
示例代码:
// marks the internal DemoClass class deserializable
[JsonSerializable]
internal class DemoClass
{
// marks MyProperty property to be serialized to a field named "prop"
[JsonField ("prop")]
public string MyProperty { get; set; }
// marks MyEnumProperty property to be serialized to a field named "enum"
[JsonField ("enum")]
public MyEnum MyEnumProperty { get; set; }
// marks not to serialize the Number property, if its value is 0
[System.ComponentModel.DefaultValue (0)]
public int Number { get; set; }
// marks the serialized name of Identifier will be "a", if its type is ClassA,
// and "b" for ClassB, and "variant" for other types
[JsonField ("a", typeof (ClassA))]
[JsonField ("b", typeof (ClassB))]
[JsonField ("variant")]
public object Identifier { get; set; }
// marks the InternalValue property will not be serialized
[JsonInclude (false)]
// marks the InternalValue property will not be deserialized
[System.ComponentModel.ReadOnly (true)]
public int InternalValue { get; set; }
}
public enum MyEnum
{
None,
// marks the serialized name of Vip to "VIP"
[JsonEnumValue ("VIP")]
Vip
}