2012-06-15 16 views
6

Potrzebuję utworzyć niestandardową bibliotekę json dla biblioteki the jit. Czy powinienem użyć dodatkowej logiki C# lub jakoś rozszerzyć JsonSerializer. Json powinno być jak ten ->JIT. Najlepszy sposób serializacji do json'a

var json = { 
    "children": [ 
{ 
    "children": [ 
    { 
     "children": [], 
     "data": { 
      "playcount": "276", 
      "$color": "#8E7032", 
      "image": "http://userserve-ak.last.fm/serve/300x300/11403219.jpg", 
      "$area": 276 
     }, 
     "id": "album-Thirteenth Step", 
     "name": "Thirteenth Step" 
    } 
}] 

}

+0

Próbował pan jest - http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx –

+1

tak, ale potrzebuję więcej zwyczaj json – Alexandr

Odpowiedz

4

Korzystanie Json.Net

public void Test() 
{ 
    Node root = new Node(); 
    Node child = new Node(); 
    Data data = new Data() { Area = 276, Color = "#8E7032", PlayCount = "276", Image = "http://userserve-ak.last.fm/serve/300x300/11403219.jpg" }; 
    Node grandChild = new Node() { Id = "album-Thirteenth Step", Name = "Thirteenth Step", Data = data }; 

    root.Children.Add(child); 
    child.Children.Add(grandChild); 

    var json = JsonConvert.SerializeObject(
           root, 
           new JsonSerializerSettings() { 
            NullValueHandling= NullValueHandling.Ignore, 
            Formatting= Newtonsoft.Json.Formatting.Indented 
           }); 
} 

public class Node 
{ 
    [JsonProperty("children")] 
    public List<Node> Children = new List<Node>(); 

    [JsonProperty("data")] 
    public Data Data; 

    [JsonProperty("id")] 
    public string Id; 

    [JsonProperty("name")] 
    public string Name; 
} 

public class Data 
{ 
    [JsonProperty("playcount")] 
    public string PlayCount; 

    [JsonProperty("$color")] 
    public string Color; 

    [JsonProperty("image")] 
    public string Image; 

    [JsonProperty("$area")] 
    public int Area; 
} 
1

json - najlepsze narzędzie do pracy z JSON

+1

Dlaczego jest "najlepszy"? Czy możesz podać jakiś kontekst? A może najlepiej dla * wszystkich * przypadków użycia? –

+0

@ EmilVikström według własnej strony internetowej to ... – iwein

+0

iwein, Gdzie znalazłeś moją własną stronę internetową? –