【发布时间】:2021-11-25 20:49:31
【问题描述】:
我正在尝试将依赖于Newtonsoft.Json 的最后一段代码移植到System.Text.Json。
代码解析 JSON 片段并将其展平。这是由遗留系统生成的,因此我们宁愿尽可能不更改它。
// Comment here including the person who last made a change to the program
[
// Comment here with the date this value set was changed
[ "value1", "value2", "value3" ],
// Comment here with the date this value set was changed
[ "value1", "value2", "value3" ],
// Repeat over and over for all data
]
我一直在使用以下代码为 Newtonsoft.Json 解析这个:
using (var sr = new StreamReader(stream))
{
var array = JArray.Parse(sr.ReadToEnd());
var flattened = array.SelectMany(x => x).ToArray();
foreach (var item in flattened)
items.Add(item.ToObject<string>());
}
上面的代码提取 JSON 有效负载中的每个值,并将它们放入名为 items 的列表中。
如何使用System.Text.Json 解析上述格式的 JSON?
【问题讨论】:
-
你在问我们什么?
-
@Enigmativity 我认为这很简单,但是我在最后添加了一个问号
-
您要求我们为您编写代码。这通常是不受欢迎的。您能否向我们展示您所做的尝试以及您在尝试中遇到的问题?
-
另外,当要求编写代码时,最好为我们提供尽可能多的支持代码。在这种情况下,最好复制、粘贴和运行我们可以看到
Newtonsoft.Json的代码以及您输入的预期输出。 -
试试这个:
var fin = JsonSerializer.Deserialize<string[][]>(jsonDataAsString).SelectMany(x => x);
标签: c# system.text.json