在C#中将JSON反序列化为动态对象
在.NET编程中,通常使用DataContractJsonSerializer
来反序列化JSON内容。但是,为每个JSON对象创建自定义类可能会很繁琐。为了简化此过程,可以将JSON反序列化为C#动态类型。
使用Json.NET
Json.NET提供了一种方便的方法将JSON反序列化为动态对象:
<code class="language-csharp">dynamic stuff = JsonConvert.DeserializeObject("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }"); string name = stuff.Name; string address = stuff.Address.City;</code>
此代码将JSON反序列化为名为“stuff”的动态对象。然后,您可以使用点表示法直接访问其属性。
使用Newtonsoft.Json.Linq
Newtonsoft.Json.Linq还提供了一种将JSON解析为动态对象的方法:
<code class="language-csharp">dynamic stuff = JObject.Parse("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }"); string name = stuff.Name; string address = stuff.Address.City;</code>
此代码使用JObject.Parse
从JSON创建一个JObject
,然后可以将其作为动态对象访问。
更多资源
有关此主题的更多信息,请参考以下文档:
以上是如何将JSON逐个序列化成C#动态对象?的详细内容。更多信息请关注PHP中文网其他相关文章!