在.net 4中增加了對弱類型的支持。為和弱類型的對象進行數據交換提供了方法。我們常常會遇到將json字符串轉成對象的情景,雖然可以使用
JavaScriptSerializer 或者
但是仍然需要些個對應的實體類,非常的麻煩。我在網上查資料,找到另外的實現方法:DataContractJsonSerializer
使用:
json = j = len = obj1 = j[ name = j[].name;
注意這裡用到 dynamic 類型。在這裡,弱類型的威力凸顯出來了。
我們看看具體的實現類:
dynamic FromJson(= JavaScriptConverter[] { = jss.Deserialize(jsonStr, ()) Deserialize(IDictionary<, > (dictionary == ArgumentNullException( (type == ( IDictionary<, > Serialize( IEnumerable<Type> { ReadOnlyCollection<Type>( List<Type>( Type[] { ( IDictionary<, > Dictionary { ; DynamicJsonObject(IDictionary<, >.Dictionary = TryGetMember(GetMemberBinder binder, = (result IDictionary<, >= DynamicJsonObject(result IDictionary<, > (result ArrayList && (result ArrayList) IDictionary<, >= List<DynamicJsonObject>((result ArrayList).ToArray().Select(x => DynamicJsonObject(x IDictionary<, > (result = List<>((result
參考:
http://www.codeproject.com/Articles/349646/Dynamic-JSON-parser
http://msdn.microsoft.com/zh-cn/library/dd264736.aspx
http://www.oschina.net/question/89964_45078
http://stackoverflow.com/questions/6201529/turn-c-sharp-object-into-a-json-string-in-net-4