【发布时间】:2020-06-09 23:13:35
【问题描述】:
我在尝试反序列化从文件中读取的 JSON 时遇到以下问题。我总是知道它不能按对象类型反序列化。这是什么原因造成的?
MyModel.cs
public class MyModel
{
public List<toppings> Lista { get; set; }
}
public class toppings
{
public string description { get; set; }
}
Program.cs
static void Main(string[] args)
{
try
{
string json = File.ReadAllText(@"C:\Users\Ricciardo\Documents\Net Core Practice\Pizza\PizzaRead\pizzas.json").ToString();
MyModel objetos = JsonSerializer.Deserialize<MyModel>(json);
foreach (var ingrediente in objetos.Lista)
{
Console.WriteLine(ingrediente.description.ToString());
}
}
catch (Exception ex)
{
Console.Write(ex.Message.ToString());
throw ex;
}
Console.ReadKey();
}
JSON 文件
[
{
"toppings": [
"pepperoni"
]
},
{
"toppings": [
"feta cheese"
]
},
{
"toppings": [
"pepperoni"
]
},
{
"toppings": [
"bacon"
]
}
]
【问题讨论】:
-
您的 JSON 文件似乎包含一个对象数组,每个对象内部都有另一个配料数组。您可能没有正确映射类。
-
不是可能不是..绝对不是。
-
我发布了一个答案,这是一个 JSON > 类映射问题。希望我的回答能够为您提供足够的信息来采取后续步骤 =)
标签: c# json serialization .net-core system.text.json