This Json.NET页面没有明确提及IEnumerable的支持。但是测试,它似乎工作。我可以依靠这个吗?Json.NET是否支持序列化/序列化到IEnumerable <T>?
回答
序列化是没有问题的,因为它使用了序列化对象的类型
一个通用的IEnumerable(IEnumerable的<>)可以反序列化,因为它的内部类型是不够的deserializator明白读什么,但通用的IEnumerable只是需要一些帮助来反序列化,像一个明确的JsonConverter
当然我指的是序列化的接口/反序列化类型的对象,而不是JObject
这类似于你一个问题:JSON.NET - how to deserialize collection of interface-instances?
和此博客文章进一步解释:http://blog.greatrexpectations.com/2012/08/30/deserializing-interface-properties-using-json-net/
Json.NET以某种方式设法做到这一点,即使没有提到显式的JsonConverter。为什么? – Superhaxor4
你指的是泛型还是非泛型? 无论如何进入调试器并检查生成到你的ienumerable中的元素来查看它们的类型 –
- 1. 是否支持自定义序列化器/反序列化器
- 2. Json.Net IEnumerable的序列化与TypeNameHandling = auto
- 3. Json.NET可以反序列化为IEnumerable <KeyValuePair <string,string >>?
- 4. JSON.NET序列化
- 5. Json.NET:序列化/反序列化阵列
- 6. DataContract由'yield return'语句支持的IEnumerable <>的序列化
- 7. Json.net序列化实现IEnumerable的自定义集合<T>
- 8. JSON.NET反序列化
- 9. 序列化在JSON.NET
- 10. 用Json.NET序列化
- 11. JSON.net反序列化
- 12. JSON.NET序列化为阵列
- 13. Json.net只序列化阵列
- 14. 序列化支持类VB.NET
- 15. 可以Json.NET序列化/反序列化到/从一个流?
- 16. 序列化到流是否
- 17. 为json.net反序列化
- 18. 反序列化与Json.NET
- 19. JSON.NET序列化的ProcessStartInfo
- 20. JSON.NET反序列化问题
- 21. Json.Net反序列化提领
- 22. 反序列化JSON(Json.NET)
- 23. 使用Json.NET反序列化
- 24. 反序列化JSON与Json.NET
- 25. JSON.NET反序列化UTF16
- 26. JSON.NET线序列化winrt
- 27. 序列化使用Json.NET
- 28. 使用json.Net序列化ExpandoObject
- 29. 反序列化JSON C#Json.net
- 30. Json.net反序列化错误
是的。 ['IEnumerable'](https://msdn.microsoft.com/en-us/library/9eekhta0%28v=vs.110%29.aspx)从'IEnumerable'继承:'public interface IEnumerable :IEnumerable'。从Json.NET文档:[序列化指南:IEnumerable,列表和数组](http://www.newtonsoft.com/json/help/html/SerializationGuide.htm#Lists):**。NET列表(类型从IEnumerable继承)和.NET数组被转换为JSON数组。** –
dbc