使用 ServiceStack.Text 序列化 json的實現代碼
http://www.jb51.net/article/38338.htm
中文的一個ServiceStack 序列化示例
ServiceStack de JSON序列化其的性能測試:
Benchmarks for .NET's JSON Serializers
http://www.servicestack.net/benchmarks/
ServiceStack 的 JSON序列化操作的一篇很不錯的示例說明:
ServiceStack JsonSerializer
http://docs.servicestack.net/text-serializers/json-serializer
以上兩篇都是在ServiceStack的官網上的, 英文的文檔。
從上面的英文文章中整理出的API使用方法筆記:
序列化 Serialization API
string SerializeToString<T>(T) void SerializeToWriter<T>(T, TextWriter) void SerializeToStream<T>(T, Stream) string SerializeToString(object, Type) void SerializeToWriter(object, Type, TextWriter) void SerializeToStream(object, Type, Stream)
反序列化 Deserialization API
T DeserializeFromString<T>(string) T DeserializeFromReader<T>(TextReader) object DeserializeFromString(string, Type) object DeserializeFromReader(reader, Type) object DeserializeFromStream(Type, Stream) T DeserializeFromStream<T>(Stream)
擴展方法 Extension methods
string ToJson<T>(this T) T FromJson<T>(this string)
ToJson/FromJson 擴展方法的使用
new []{ 1, 2, 3 }.ToJson() //= [1,2,3] "[1,2,3]".FromJson<int[]>() //= int []{ 1, 2, 3 }
支持的JSON數據類型
string
number
object
array
true
false
null
自定義序列化,可以使用結構體方式定製返回數據,也可以通過迭代方式輸出JSON數組
例如:
new Size { Width = 20, Height = 10 }.ToJson() // = "20x10"
new Point { X = 1, Y = 2 }.ToJson() // = [1,2]
實現的自定義功能的具體代碼請查看原英文文檔。