Deserializing variable Type JSON array using DataContractJsonSerializer(使用 DataContractJsonSerializer 反序列化变量类型 JSON 数组)
问题描述
我有一个这种形式的 JSON 字符串:
I have a JSON string in this form:
string jsonStr = "["A", ["Martini", "alovell"],["Martin", "lovell"]]"
我正在尝试使用带有以下代码片段的 C# .NET 反序列化器 DataContractJsonSerializer 对 JSON 进行反序列化
I am trying to deserialize the JSON using the C# .NET deserializer DataContractJsonSerializer with the following code snippet
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr));
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof<X>);
X data = (X)serializer.ReadObject(ms);
现在由于 JSON 数组是变量类型的数组,我不知道是什么类型的对象X 应该是
Now since the JSON array is an array of variable types I do not know what type of object X should be
如果我的字符串是
jsonStr = "[["Martini", "alovell"],["Martin", "lovell"]]"
我可以用这个:
X = List<List<String>>
这对我有用.我想知道是否有任何方法可以反序列化变量类型 JSON 数组?
and that would work for me. I was wondering if there is any way to deserialize variable type JSON array?
推荐答案
你可以使用 Json.NET 来做到这一点.
You could use Json.NET to do this.
JArray a = JArray.Parse(jsonStr);
JArray 将包含字符串或嵌套的 JArray,具体取决于 JSON.
The JArray would contain either strings or nested JArray's depending on the JSON.
这篇关于使用 DataContractJsonSerializer 反序列化变量类型 JSON 数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 DataContractJsonSerializer 反序列化变量类型 JSON 数组
基础教程推荐
- MS Visual Studio .NET 的替代品 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- 如何激活MC67中的红灯 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 将 XML 转换为通用列表 2022-01-01