我正在使用C#。我想在下面的结构中使用Json数组
"bed_configurations": [
[{
"type": "standard",
"code": 3,
"count": 1
},
{
"type": "custom",
"name": "Loft",
"count": 1
}]
]
请任何人帮助我..
答案 0 :(得分:1)
您必须为所需的class
创建json
。此外,您必须使用using Newtonsoft.Json;
作为json转换器。我已经创建了一个示例,请检查一下。
CODE:
public class Header
{
public List<List<Item>> bed_configurations { get; set; }
}
public class Item
{
public string type { get; set; }
public int code { get; set; }
public string name { get; set; }
public int count { get; set; }
}
private static void getJSON()
{
List<Item> items = new List<Item>();
items.Add(new Item() { type = "standard", code = 3, count = 1 });
items.Add(new Item() { type = "custom", name = "Loft", count = 1 });
Header ob = new Header();
ob.bed_configurations = new List<List<Item>>() { items };
string output = JsonConvert.SerializeObject(ob);
}
输出:
答案 1 :(得分:1)
您最好的方法是创建一个类似于此结构的类,并使用Newtonsoft.JSON将对象序列化/反序列化为json字符串。
public class BedConfiguration
{
[JsonProperty("type")]
public string Type {get; set;}
[JsonProperty("code")]
public int Code {get; set;}
[JsonProperty("count")]
public int Count {get; set;}
}
整个json字符串只是一个数组,在一个数组中,上面的类(奇怪)。因此,您可以填充这些BedConfiguration
的列表,然后将它们序列化:
var configs = new List<List<BedConfiguration>>();
//Populate the list programmatically.
var json = JsonConvert.SerializeObject(configs);
同样,您可以将json字符串转回列表:
var configs = JsonConvert.DeserializeObject<List<List<BedConfiguration>>>(json);