2016-10-07 3 views
0

Newtonsoft Json(Json.Net)を使用してカスタムシリアル化を行うには、いくつかの助けが必要です。私はそれがNewtonsoftを使用して行うことができますどのようにNewtonsoftシリアル化

{ 
"PersonName":"Name", 
"Address1":"Address1", 
"City":"City", 
"State":"state" 
} 

public class Person 
{ 
    [JsonProperty(PropertyName = "PersonName")] 
    public string Name { get; set; } 
    [JsonIgnore] 
    public int Age { get; set; } 
    public Address PersonAddress { get; set; } 
} 

public class Address 
{ 
    [JsonProperty(PropertyName = "Address1")] 
    public string Address1 { get; set; } 
    [JsonIgnore] 
    public string Address2 { get; set; } 
    [JsonProperty(PropertyName = "City")] 
    public string City { get; set; } 
    [JsonProperty(PropertyName = "State")] 
    public string State { get; set; } 
    [JsonIgnore] 
    public string Country { get; set; } 
} 

が、私はそれが以下のような出力を返す必要があります上記のクラスをシリアル化する場合:私は、以下のようなクラスを持っていますか?

答えて

2

次のように、第三のクラスを作成することができます。

public class Rootobject 
{ 
    public string PersonName { get; set; } 
    public string Address1 { get; set; } 
    public string City { get; set; } 
    public string State { get; set; } 
} 

を次に、このようなことのうち対象:

var rootObject = new Rootobject() 
{ 
    PersonName = person.Name, 
    Address1 = address.Address1, 
    City = address.City, 
    State = address.State 
}; 

そして最後にJsonCovertを使用して、それをシリアル化:

var result = JsonConvert.SerializeObject(rootObject); 
関連する問題