gpt4 book ai didi

c# - 返回带有对象名称的 Json 格式的数据

转载 作者:行者123 更新时间:2023-11-30 18:58:33 24 4
gpt4 key购买 nike

为 Web API 2 编写了一个返回国家列表的简单函数。它返回有效的 Json 格式但没有数组/对象名称。我有点难以理解这是如何实现的?

这是我的 C# 代码:

[Route("Constants/CountryList")]
[HttpGet]
public IHttpActionResult GetCountryList()
{
IEnumerable<ISimpleListEntity> list = new CountryStore().SimpleSortedListByName();
if (list == null || !list.Any())
{
return NotFound();
}

return Ok(list);
}

ISimpleListEntity接口(interface)代码在这里。

public interface ISimpleListEntity
{
int Id { get; set; }
string Name { get; set; }
}

此服务返回以下 Json 输出(没有对象/数组名称):

[  
{
"Id":1,
"Name":"[Select]"
},
{
"Id":4,
"Name":"India"
},
{
"Id":3,
"Name":"Singapore"
},
{
"Id":2,
"Name":"United Arab Emirates"
}
]

但是,我正在努力实现以下 Json 格式(带有名为“CountryList”的对象/数组名称):

{  
"CountryList":[
{
"Id":1,
"Name":"[Select]"
},
{
"Id":4,
"Name":"India"
},
{
"Id":3,
"Name":"Singapore"
},
{
"Id":2,
"Name":"United Arab Emirates"
}
]
}

最佳答案

您可以根据 Boas 的回答为此创建一个特定的类,或者只使用匿名类型:

return Ok(new { CountryList = list });

基本上,您需要一个具有适当属性的对象,无论是哪种方式。如果你想稍后反序列化它并保持编译时检查,那么创建一个类是值得的 - 但如果你使用动态类型或者消费者无论如何都不会是 C# 代码,那么匿名类型会更简单.

关于c# - 返回带有对象名称的 Json 格式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33954555/

24 4 0
文章推荐: c# - 新的 .NET 运行时能否抛出更有意义的空引用异常?
文章推荐: javascript - 使用 jquery 将 javascript(用于 Quicktime)插入
文章推荐: c - GTK非标准输入
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com