Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WebAPI返回不带根节点的JSON数组_C#_Json_Json.net_Asp.net Web Api2 - Fatal编程技术网

C# WebAPI返回不带根节点的JSON数组

C# WebAPI返回不带根节点的JSON数组,c#,json,json.net,asp.net-web-api2,C#,Json,Json.net,Asp.net Web Api2,我在EmployeeController中有以下示例代码,它创建了两个雇员,将他们添加到雇员列表中,然后在get请求中返回雇员列表。从代码返回的JSON将Employees包含为根节点。我需要返回一个不带Employees属性的JSON数组,因为每当我尝试将JSON结果解析为对象时,都会出现错误,除非我手动重新格式化字符串以不包含它 public class Employee { public int EmployeeID { get; set; } public string

我在EmployeeController中有以下示例代码,它创建了两个雇员,将他们添加到雇员列表中,然后在get请求中返回雇员列表。从代码返回的JSON将Employees包含为根节点。我需要返回一个不带Employees属性的JSON数组,因为每当我尝试将JSON结果解析为对象时,都会出现错误,除非我手动重新格式化字符串以不包含它

public class Employee
{
    public int EmployeeID { get; set; }
    public string Name { get; set; }
    public string Position { get; set; }
}

public class EmployeeList
{
    public EmployeeList()
    {
        Employees = new List<Employee>();
    }
    public List<Employee> Employees { get; set; }
}


public class EmployeeController : ApiController
{
    public EmployeeList Get()
    {
        EmployeeList empList = new EmployeeList();
        Employee e1 = new Employee
        {
            EmployeeID = 1,
            Name = "John",
            Position = "CEO"
        };
        empList.Employees.Add(e1);
        Employee e2 = new Employee
        {
            EmployeeID = 2,
            Name = "Jason",
            Position = "CFO"
        };
        empList.Employees.Add(e2);

        return empList;
    }
}
这是我需要返回的JSON结果

[
    {"EmployeeID":1,"Name":"John","Position":"CEO"},     
    {"EmployeeID":2,"Name":"Jason","Position":"CFO"}
]

非常感谢您的帮助,因为我对WEBAPI和解析JSON结果还不熟悉,这是因为您实际返回的不是
列表,而是包含
列表的对象(EmployeeList)。

将其更改为返回
Employee[]
(一个Employee数组)或仅返回一个
列表
,而周围没有类

返回的不是列表,而是一个包含嵌入列表的对象。将方法的签名更改为:

public List<Employee> Get()

你犯了什么错误?调用API的代码是什么?我将更多地关注重构客户端代码解析,而不是尝试使用默认行为,看起来您的API代码非常简单,我会保持这种方式。
public List<Employee> Get()
return empList.Employees;