Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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# 返回JsonResult我自己的对象_C#_Json_Asp.net Core Mvc - Fatal编程技术网

C# 返回JsonResult我自己的对象

C# 返回JsonResult我自己的对象,c#,json,asp.net-core-mvc,C#,Json,Asp.net Core Mvc,我在ASP.net核心mvc中得到了这个简单的示例。它响应jquery的自动完成,因此我得到一个项目列表(正如您所看到的,它向客户端发送JSon) 这很有效。我向客户端返回一个字符串列表。但我希望它发送我自己对象的字段: 那么:在我返回JSon之前 var items = new[] { "Apple", "Pear", "Banana", "Pineapple", "Peach" }; 现在我想返回集合中所有对象的全名 我知道这一定很简单。。。但是我找不到办法。 谢谢您可以使用linq选择

我在ASP.net核心mvc中得到了这个简单的示例。它响应jquery的自动完成,因此我得到一个项目列表(正如您所看到的,它向客户端发送JSon)

这很有效。我向客户端返回一个字符串列表。但我希望它发送我自己对象的字段:


那么:在我返回JSon之前

var items = new[] { "Apple", "Pear", "Banana", "Pineapple", "Peach" };
现在我想返回集合中所有对象的全名

我知道这一定很简单。。。但是我找不到办法。
谢谢

您可以使用linq选择PRV类别的单个属性:

List<PrvCategory> oCategoriesList;

var filteredItems = oCategoriesList
.Where(item => item.FullName.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0)
.Select(i => i.FullName);

return Json(filteredItems);
List-oCategoriesList;
var filteredItems=oCategoriesList
.Where(item=>item.FullName.IndexOf(term,StringComparison.InvariantCultureIgnoreCase)>=0)
.选择(i=>i.FullName);
返回Json(filteredItems);
如果您有一个数据库中所有对象的列表,并且只想将选定的属性作为Json发送到视图中。这可以通过以下方法实现:

整个函数应如下所示:

返回Json(filteredItems)
看起来可以完成这项工作,当然返回的字段名必须与autocomplete插件期望的字段名匹配。这可能是拼图中缺失的部分,尽管你没有真正弄清楚到底出了什么问题。显示了一个示例,我认为这意味着您需要JSON中名为“label”和“value”的字段才能使用它们。所以你离解决方案不远了,我不认为。
public class PrvCategory
{
    public int CategoryId { get; set; }
    public String FullName { get; set; }
}
var items = new[] { "Apple", "Pear", "Banana", "Pineapple", "Peach" };
List<PrvCategory> oCategoriesList;

var filteredItems = oCategoriesList
.Where(item => item.FullName.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0)
.Select(i => i.FullName);

return Json(filteredItems);
var filteredItems = items.Where(item => item.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0);

return Json(filteredItems.Select(x => new
            {
                fullName = x.FullName,              
            }));
public JsonResult Autocomplete(string term){

var items = new[] { "Apple", "Pear", "Banana", "Pineapple", "Peach" };

var filteredItems = items.Where(item => item.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0);

return Json(filteredItems.Select(x => new
            {
                fullName = x.FullName, 

            })); //, JsonRequestBehavior.AllowGet); }