WPF - Json.NET:如何从 Json 反序列化多个对象并将其放入列表中?
Posted
技术标签:
【中文标题】WPF - Json.NET:如何从 Json 反序列化多个对象并将其放入列表中?【英文标题】:WPF - Json.NET: How do I deserialize multiple objects from Json and put it in an List? 【发布时间】:2021-11-11 18:45:43 【问题描述】:文件:data.json:
[
"Items": [
"Name": "Item 0"
,
"Name": "Item 1"
,
"Name": "Item 2"
]
]
类:
public partial class ItemHandler : Page
string itemsJson;
public ItemHandler()
InitializeComponent();
itemsJson = JsonHandler.ReadItems();
foreach (var item in collection)
// ???
public class Item
public string Name get; set;
我需要按名称从字符串列表中获取每个项目,但我不知道如何逐个反序列化,我对 Json.NET 反序列化教程感到困惑。
【问题讨论】:
如果使用 Visual Studio,您可以使用特殊粘贴。将json复制到剪贴板,然后使用Edit/Paste Special/Paste JSON as Classes
【参考方案1】:
试试这个
void Main()
var json ="[\"Items\":[\"Name\":\"Item 0\",\"Name\":\"Item 1\",\"Name\":\"Item 2\"]]";
var jD=JsonSerializer.Deserialize<Root[]>(json);
foreach (var items in jD)
foreach (var item in items.Items)
Console.WriteLine(item.Name);
public class Item
public string Name get; set;
public class Root
public List<Item> Items get; set;
【讨论】:
以上是关于WPF - Json.NET:如何从 Json 反序列化多个对象并将其放入列表中?的主要内容,如果未能解决你的问题,请参考以下文章
Json.net 从 HTTPClient 结果反序列化 DateTime
如何使用 NewtonSoft Json.Net 将 Json 字典反序列化为平面类
使用 Json.net 将 JSON 对象反序列化为动态对象