[英]Object to json convertion format using serializer
我有以下C#模型对象
public class AddressUserFields
{
public string number { get; set; }
public string street { get; set; }
public string apartment { get; set; }
public string city { get; set; }
public string state { get; set; }
public string zipcode { get; set; }
public string DPV { get; set; }
}
当我尝试使用json序列化方法将其转换为json字符串时,它将像以下那样转换,
JSON字符串: {userFields:[{"number":null,"street":null,"apartment":"","city":null,"state":null,"zipcode":null,"DPV":null}]}
但实际上我寻找的是以下预期的JSON结果:
{userFields:[{"number":null},{"street":null},{"apartment":""},{"city":null},{"state":null},{"zipcode":null},{"DPV":null}]}
因此,任何人都可以让我设计我的c#模型对象并获得预期的json结果的方法。
您只需要在想要Json所在的结构中创建poco对象。
如果要这种结构:
{userFields:
[
{ "number":null,
"street":null,
"apartment":"",
"city":null,
"state":null,
"zipcode":null,
"DPV":null
}
]
}
这是一个具有一个属性userFields
的对象,该属性的类型为AddressUserFields[]
。
因此,只需添加另一个类
public class SomeContainer
{
public AddressUserFields[] userFields {get;set;}
}
并序列化那个
如果您确实想要一组具有不同属性的不同对象,例如您发布的内容:
...[{"number":null},{"street":null},{"apartment":""},...]
您可以使用Dictionary<TKey,TValue>
的数组,如下所示:
public class Fields
{
public Dictionary<string, string>[] userFields { get; set; }
}
并像这样使用它?
var fields = new Fields()
{
userFields = new[]{
new Dictionary<string,string>(){{"number", null}},
new Dictionary<string,string>(){{"street", null}}
}
};
var json = JsonConvert.SerializeObject(fields);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.