首页 > 解决方案 > 根据提供的示例,尝试在 c# 中将 string[] 更改为 rest 格式

问题描述

我有以下要转换的数组列表,因此它将为我们更新供应商流程。

"AlertTriggerTime":"Tuesday, April 14, 2020","LastEdit":"Thursday, April 09, 2020", "ObjectType":"Node","Severity:"Critical"

这就是我需要它的样子

{
    "message": "An example",
    "alias": "Life is too short for no alias",
    "description":"Every alert needs a description",
    "responders":[
        {"AlertTriggerTime":"Tuesday, April 14, 2020"},
        {"LastEdit":"Thursday, April 09, 2020"},
        {"ObjectType":"Node"},
        {"Severity":"Critical"}

    ]
}

标签: c#arraysjson

解决方案


有很多方法可以做到这一点,具体如何取决于哪些部分需要是动态的。如果我们假设这些键都不需要更改(即结构非常固定),那么您可以这样做:

var obj = new {
    message = "An example",
    alias = "Life is too short for no alias",
    description = "Every alert needs a description",
    responders = new object[] {
        new { AlertTriggerTime = "Tuesday, April 14, 2020" },
        new { LastEdit = "Thursday, April 09, 2020" },
        new { ObjectType = "Node" },
        new { Severity = "Critical" }
    }
};
var json = JsonConvert.SerializeObject(obj);

在另一个极端,一切都可能是Dictionary<string, object>——或者在中间的某个地方!


推荐阅读