Javascript 在ajax中返回具有多个属性的对象

Javascript 在ajax中返回具有多个属性的对象,javascript,c#,ajax,Javascript,C#,Ajax,我创建了对象并放置了一些属性: dynamic oReturn = new ExpandoObject(); oReturn.Name = name; oReturn.Editing = editing; oReturn.Img = img; ... return oReturn; 但是当我将对象返回到前端时,我有三个对象,每个对象都有一个键和一个值,而不是一个具有所有属性的对象 这是我在控制台中的输出: m.d[0]; Object {Key: "Name", Value: "Test"}

我创建了对象并放置了一些属性:

dynamic oReturn = new ExpandoObject();
oReturn.Name = name;
oReturn.Editing = editing;
oReturn.Img = img;
...
return oReturn;
但是当我将对象返回到前端时,我有三个对象,每个对象都有一个键和一个值,而不是一个具有所有属性的对象

这是我在控制台中的输出:

m.d[0];
Object {Key: "Name", Value: "Test"}
m.d[1];
Object {Key: "Editing", Value: "177f734c-2a69-4b81-a14c-164ab9ff6704"}
m.d[2];
Object {Key: "Img", Value: ""}
如何仅返回一个包含所有三个属性的对象?

这应该可以:

dynamic oReturn = new ExpandoObject();
oReturn.Data = new ExpandoObject();
oReturn.Data.Name = name;
oReturn.Data.Editing = editing;
oReturn.Data.Img = img;
...
return oReturn;
而不是像这样的东西能起作用

return new {Name= name, Editing = editing, Img = img};

利用
Newtonsoft
库,它提供了类。然后,您可以使用它在返回对象之前序列化对象

dynamic oReturn = new ExpandoObject();
oReturn.Name = name;
oReturn.Editing = editing;
oReturn.Img = img;

var json = JsonConvert.SerializeObject(oReturn );
return json;
请注意,如果您正在使用ASP.NET MVC,那么您也可以使用
内容方法返回,如下所示:

dynamic oReturn = new ExpandoObject();
oReturn.Name = name;
oReturn.Editing = editing;
oReturn.Img = img;

var json = JsonConvert.SerializeObject(oReturn );
return Content(json, "application/json");
一旦在前端接收到输出,输出将如下所示:

{"Name":"DataA","Editing":"DataB", "Img":"DataC"}

它工作得很好,但我一定表达得很差,你的建议返回了一个值为的对象数组,我想返回一个只有三个值的对象,也许我最好创建一个类。。