我有从 HTTP 请求发布的 json。我正在尝试将其反序列化以在 foreach 循环中使用。不幸的是,它的格式让我很恼火,因为它是一个对象列表(我相信)。
到目前为止我有以下内容:
dynamic jsonObj = JsonConvert.DeserializeObject(await req.ReadAsStringAsync());
foreach (var p in jsonObj.hireSchedules)
{
///do something
}
我的json如下:
{
"hireSchedules": [
{
"plant": "7246054",
"num" : "79",
"hire": "1137277"
},
{
"plant": "7246055",
"num" : "80",
"hire": "1137278"
}
]
}
我有以下类(class):
public class HireSchedule
{
public string plant { get; set; }
public string num { get; set; }
public string hire { get; set; }
}
public class RootObject
{
public List<HireSchedule> hireSchedules { get; set; }
}
如有任何帮助,我们将不胜感激。谢谢!
最佳答案
由于您已经定义了类,因此很容易将其反序列化到它们中。然后您就有了一个强类型类,IDE 应该能够帮助您了解如何访问属性。
var json = File.ReadAllText("json1.json");
var root = JsonConvert.DeserializeObject<RootObject>(json);
foreach (var p in root.hireSchedules)
{
///do something
}
关于C# 反序列化 JSON 以在 foreach 循环中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58196332/