C# .NET核心API返回列表和列表计数

C# .NET核心API返回列表和列表计数,c#,asp.net-core,asp.net-core-webapi,anonymous-types,C#,Asp.net Core,Asp.net Core Webapi,Anonymous Types,我正在尝试使用OK函数以JSON的形式返回一个带有.NETCore2.1API的复杂对象 复杂对象由匿名对象数组和整个未过滤数据集的计数组成 我正在使用一个JavaScript库,它希望JSON采用以下格式: { data: dataFiltered, count: dataUnfiltered.length } C#筛选的匿名对象如下所示: var unfiltedDataCount = product.Where(p => p.CategoryId == categoryI

我正在尝试使用OK函数以JSON的形式返回一个带有.NETCore2.1API的复杂对象

复杂对象由匿名对象数组和整个未过滤数据集的计数组成

我正在使用一个JavaScript库,它希望JSON采用以下格式:

{ 
  data: dataFiltered,
  count: dataUnfiltered.length
}
C#筛选的匿名对象如下所示:

var unfiltedDataCount = product.Where(p => p.CategoryId == categoryId).Count();
var autoCompleteData = products.Select(p => new { name = p.Name, productId = p.ProductId, categoryId = p.CategoryId}).ToList();
这是有效的:原生行为

return Ok(autoCompleteData);
这不起作用:Visual Studio报告错误(名称“data”和“count”在当前上下文中不存在。)


您使用了错误的语法

不正确

return ok( new { data: autoCompleteData, count: unfiltedDataCount});
return ok( new { data= autoCompleteData, count= unfiltedDataCount});
正确

return ok( new { data: autoCompleteData, count: unfiltedDataCount});
return ok( new { data= autoCompleteData, count= unfiltedDataCount});

您可以在此处看到更多示例:。

您使用了错误的语法

不正确

return ok( new { data: autoCompleteData, count: unfiltedDataCount});
return ok( new { data= autoCompleteData, count= unfiltedDataCount});
正确

return ok( new { data: autoCompleteData, count: unfiltedDataCount});
return ok( new { data= autoCompleteData, count= unfiltedDataCount});

您可以在这里看到更多示例:。

也许您不能在
Ok
方法中新建对象?您得到的确切错误是什么?
返回ok(新的{data=autoCompleteData,count=unfiltedDataCount})@Zac它不是“in”,而是“before”。没关系,巴里,你说“这不管用”是什么意思?生成的JSON是什么?@vasily.sib没有在一个方法中创建一个带有“in”的对象?也许你不能在
Ok
方法中新建一个对象?您得到的确切错误是什么?
返回ok(新的{data=autoCompleteData,count=unfiltedDataCount})@Zac它不是“in”,而是“before”。没关系,巴里,你说“这不管用”是什么意思?生成的JSON是什么?@vasily.sib没有在一个方法中创建一个对象,使该对象具有“in”属性?为什么是downvote?向下投票者是匿名类型的另一个例子:)@x-otano我喜欢这句话。我讨厌没有评论的否决票。为什么否决票?向下投票者是匿名类型的另一个例子:)@x-otano我喜欢这句话。我讨厌没有评论的否决票。