如何从嵌套JSON创建列表



我有一个JSON看起来像这样:

{
"operations": [
{
"creationTime": "2022-05-31T18:15:47.927+03:00",
"status": "PENDING",
"com_model_golfController": {
"Mode": 0,
"StopStationPayload": "[{"ControllerAddress":11,"StationAddress":26}]"
},
"description": "Stop Station"
},
{
"creationTime": "2022-05-31T18:15:47.927+03:00",
"status": "PENDING",
"com_model_golfController": {
"Mode": 0,
"StopStationPayload": "[{"ControllerAddress":12,"StationAddress":27}]"
},
"description": "Stop Station"
}
],
"statistics": {
"currentPage": 1,
"pageSize": 5
}
}

我创建了以下类:-

public class RootObject
{
public List<operation> operations { get; set; }
}
public class operation
{
public golfController com_model_golfController { get; set; }
}
public class golfController
{
public int mode { get; set; }
public string StopStationPayload { get; set; }
} 

我一直在尝试不同的东西,但不能得到想要的结果。我形成上述类的方法正确吗?我是c#新手,正在尝试实现它。

我想要实现的是创建一个包含对象的列表:-

{
"Mode": 0,
"StopStationPayload": "[{"ControllerAddress":11,"StationAddress":26}]"
},
{
"Mode": 0,
"StopStationPayload": "[{"ControllerAddress":12,"StationAddress":27}]"
}

任何建议都会很有帮助。

基本上这个问题不是关于JSON的。是关于linq的

在使用任何库对JSON进行反序列化之后,您可以使用linq获得golfController对象,然后对它们进行序列化。

var root = JsonConvert.DeserializeObject<RootObject>(json);
var controllers = root.operations.Select(o=>o.com_model_golfController).ToList()
var result = JsonConvert.SerializeObject(controllers);

最新更新