如果你把你的項目放入字典而不是列表中,那麼你可以得到你想要的結果。下面是一個例子:
class Program
{
static void Main(string[] args)
{
RootObject obj = new RootObject();
obj.Items = new Dictionary<string, Item>();
obj.Items.Add("one", new Item { FieldOne = "foo", FieldTwo = "bar" });
obj.Items.Add("two", new Item { FieldOne = "fizz", FieldTwo = "bang" });
string json = JsonConvert.SerializeObject(obj, Formatting.Indented);
Console.WriteLine(json);
}
}
class RootObject
{
[JsonProperty("list")]
public Dictionary<string, Item> Items { get; set; }
}
class Item
{
[JsonProperty("fieldone")]
public string FieldOne { get; set; }
[JsonProperty("fieldtwo")]
public string FieldTwo { get; set; }
}
輸出:
{
"list": {
"one": {
"fieldone": "foo",
"fieldtwo": "bar"
},
"two": {
"fieldone": "fizz",
"fieldtwo": "bang"
}
}
}
是對問題編碼,解碼或顯示數據? – doctorlove
我有數據,我想這樣序列化成這種格式,但我看不到如何在json對象中添加多個json對象,當我使用列表對象時,「列表」成爲一個數組而不是一個json對象和「上」和「兩」字段只是消失。 – user2443476
使用自定義'JsonConverter'。 http://james.newtonking.com/json/help/index.html?topic=html/CustomJsonConverter.htm –