在我的类上调用JsonConvert.SerializeObject之后,生成的JSON如下所示:-
{
"commands": [
{
"req": "login",
"password": "1111"
}
]
}
但是我需要它与附加的{}
看起来像这样{
"commands": [
{
"req": "login"
},
{
"password": "1111"
}
]
}
正在使用https://app.quicktype.io/#l=cs&r=json2csharp
生成代码两者都是有效的Json,但我在调用需要它们的第三方API时需要大括号。
答案 0 :(得分:2)
如果您像这样制作课程,该怎么办?
public class ApiRequest
{
[JsonProperty("commands")]
public List<Command> Commands { get; set; }
public ApiRequest()
{
Commands = new List<Command>();
}
public void Add(Command command)
{
Commands.Add(command);
}
}
public class Command : Dictionary<string, string>
{
public Command(string key, string value) : base()
{
Add(key, value);
}
}
然后您可以像这样创建JSON:
var req = new ApiRequest();
req.Add(new Command("req", "login"));
req.Add(new Command("password", "1111"));
string json = JsonConvert.SerializeObject(req, Formatting.Indented);