如何从嵌套 JSON 创建列表

How to create a list from nested 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);