Dav*_*vid 1 c# serialization json
我有一个继承自A类的B类.
Class B:A
{
public string Prop1{get;set}
public string Prop2{get;set}
public string Prop3{get;set}
}
Run Code Online (Sandbox Code Playgroud)
我想序列化(JSON)在B类的某些属性说PROP1和PROP2并没有在A级.我使用JavaScriptSerializer这种序列化A和B.我试着设置递归限制为1而是抛出一个错误.我不允许编辑A类
请帮忙
在这种情况下我会定义一个DTO类:
public class Foo
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后使用AutoMapper从B实例映射到Foo.最后,我将JSON序列化Foo返回的实例AutoMapper.通过这种方式,我可以完全控制序列化的内容.
另一种可能性是使用匿名对象:
B b = ...
string json = new JavaScriptSerializer().Serialize(new
{
b.Prop1, b.Prop2
});
Run Code Online (Sandbox Code Playgroud)
或者如果要在生成的JSON中重命名这些属性:
string json = new JavaScriptSerializer().Serialize(new
{
Foo = b.Prop1,
Bar = b.Prop2
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1044 次 |
| 最近记录: |