2010-02-23 11 views
5

का उपयोग कर मैं इस वर्ग को क्रमानुसार करना चाहते क्रमानुसार करने: इस Json परीक्षण करने के लिएJson.NET - कैसे एक वर्ग कस्टम समाधानकर्ता

public class CarDisplay 
{ 
    public string Name { get; set; } 
    public string Brand { get; set; } 
    public string Year { get; set; } 

    public PictureDisplay[] Pictures { get; set; } 
} 

public class PictureDisplay 
{ 
    public int Id { get; set; } 
    public string SecretKey { get; set; } 
    public string AltText { get; set; } 
} 

:

{ नाम: "नाम मूल्य", ब्रांड: "ब्रांड मूल्य", वर्ष: "वर्ष मूल्य", चित्र: [ "URL1", "url2", "URL3"] }

नोट प्रत्येक कार के बजाय केवल यूआरएल तार के साथ एक चित्र सरणी है कि सभी पी पिक्चर क्लास में roperties है।

मुझे पता है कि Json.NET कस्टम रिजॉल्वर की धारणा है, लेकिन मुझे यकीन नहीं है कि इसका उपयोग कैसे किया जाए।

उत्तर

10
public class PictureDisplayConverter : JsonConverter 
{ 
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) 
    { 
     // convert array of picture to json string; 
    } 

    public override object ReadJson(JsonReader reader, Type objectType, JsonSerializer serializer) 
    { 
     // convert back json string into array of picture 
    } 

    public override bool CanConvert(Type objectType) 
    { 
     return true; 
    } 
} 

अपनी कार प्रदर्शन कक्षा में:

public class CarDisplay 
{ 
    public string Name { get; set; } 
    public string Brand { get; set; } 
    public string Year { get; set; } 

    [JsonConverter(typeof(PictureDisplayConverter))] 
    public PictureDisplay[] Pictures { get; set; } 
} 
0

एक जेसन कनवर्टर बनाएं जो एक पिक्चरडिस्प्ले ऑब्जेक्ट को एक स्ट्रिंग के रूप में लिखता है।

+0

आप और अधिक व्याख्या कर सकते हैं? –