我有像这样的平面DTO
public class User
{
[JsonProperty("email")]
public string Email { get; set; }
[JsonProperty("fname")]
public string FirstName { get; set; }
[JsonProperty("lname")]
public string LastName { get; set; }
[JsonProperty("phone")]
public string Phone { get; set; }
[JsonProperty("city")]
public string City { get; set; }
[JsonProperty("country")]
public string CountryCode { get; set; }
[JsonProperty("state")]
public string State { get; set; }
[JsonProperty("zip")]
public string Zip { get; set; }
[JsonProperty("address1")]
public string Address1 { get; set; }
[JsonProperty("address2")]
public string Address2 { get; set; }
}
默认情况下,将其序列化为' flat' JSON:
{
'email':'john@doe.net',
'fname':'John',
'phone':'123456789',
'city':'New York',
'zip':'1111',
'lname':'Joe',
'state':'NY',
'address1' : 'address1'
}
我想将它序列化为更结构化的JSON对象:
{
'email':'john@doe.net',
'fname':'John',
'phone':'123456789',
'lname':'Joe',
'address' : {
'city':'New York',
'zip':'1111',
'state':'NY',
'address1' : 'address1'
}
}
有没有办法在不创建自定义JsonConverter的情况下执行此操作?
答案 0 :(得分:3)
不,如果没有自定义的JsonConverter,或者没有通过引入正确的Address
类来简化 flat 模型的结构,就无法做到这一点。