【发布时间】:2020-07-16 07:05:10
【问题描述】:
我正在尝试以特定方式将 List 对象格式化为 JSON:
...
{
"MyList": [
"Entry": {
"Id": "1000",
"Name" : "Billy"
}
]
}
...
我的问题是我无法为列表中的每个项目写入“条目”属性名称。
这是我的 C# 代码:
Entry.cs
[JsonObject(MemberSerialization.OptIn)]
public class Entry
{
[JsonProperty]
public string Id { get; set; }
[JsonProperty]
public string Name { get; set; }
}
列表.cs
[JsonObject(MemberSerialization.OptIn)]
public class MyList
{
[JsonProperty]
List<Entry> List = new List<Entry>();
public void Add(Entry param) {
List.Add(param);
}
}
TestController.cs
[HttpPost]
public IHttpActionResult GrabarMarcacion([FromBody] JObject data)
{
MyList lst = new MyList();
lst.Add(new Entry{Id="1000", Name="Billy"});
return Ok(lst);
}
对不起,我是 JSON 和 REST 的新手,是否可以按照我的要求进行操作?到目前为止,我总是得到类似的东西:
{
"List": {
{
"ID": "1000",
"Name" : "Billy"
},
{
"ID": "1001",
"Name" : "Bob"
}
}
}
【问题讨论】:
-
首先,预期的 Json 看起来不是有效的 Json 格式。请确保其格式有效
-
正如@AnuViswan 所说,您不能使用 JSON 序列化程序真正生成无效的 JSON。要么将您的期望更改为有效的 JSON,要么使用常规的文本操作来构造您喜欢的任何格式(但不要将其称为 JSON,也不希望任何人能够这样解析它)。请edit发帖澄清。
标签: c# rest asp.net-web-api2