簡體   English   中英

如何從嵌套的 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM