我需要为 jit 库创建一个自定义 json。我应该使用额外的 C# 逻辑还是以某种方式扩展 JsonSerializer。Json应该是这样的-->
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"
}
}]
}
使用 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;
}
你有关于 Json.net 吗?
http://json.codeplex.com/
至少你会有一个很好的定制室水平+更好的序列化器
JSON
- 使用 JSON 的最佳工具
ServiceStack.Text 是最快的一个。
对于基准:http://www.servicestack.net/benchmarks/