Pur*_*ome 7 .net c# asp.net-mvc dynamic
我正在尝试在我的MVC应用程序中创建一些Json,我只想包含源对象中的属性,如果它有一些属性值,则设置.
例如.
public class Foo
{
public string Aaaa { get; set; }
public string Bbbb { get; set; }
public int? Ccccc { get; set; }
public Lol Dddd { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
// Example Outputs.
Aaaa和Ccccc只有价值观:
return Json(new { Aaaa = source.Aaaa, Cccc = source.Ccccc.Value };
Dddd只被设定了.
return Json(new { Dddd = source.Dddd }
看看我是如何试图动态创建一个匿名对象.嗯,我可以这样做,因为在这个懊悔的例子中,我知道所设置的是什么.但是当谈到实际代码时,我必须"弄清楚"实际设置的内容然后动态返回.
这个想法是基于Stack Exchange的Api Wrapper ..它们有一些可选的值,如果它们被设置,它们将通过json返回.
Hen*_*ing 11
看一下ExpandoObject,这里给出了一个带xml的例子
例如.
dynamic contact = new ExpandoObject();
contact.Name = "Patrick Hines";
contact.Phone = "206-555-0144";
... etc ...
Run Code Online (Sandbox Code Playgroud)