任何人都知道如何在下拉列表中填充这个 JSON,基本上是国家 ID 和:
data: {
"1000": {
"country-id": 1000,
"name1": {
"name": "Afghanistan",
},
},
"4000": {
"country-id": 4000,
"name1": {
"name": "Albania",
}
}
你的 json 坏了,许多 json 解析器会抱怨它。
我将使用Json.Net进行解析。
string json = @"{data: { ""1000"": { ""country-id"": 1000, ""name1"": { ""name"": ""Afghanistan"", }, }, ""4000"": { ""country-id"": 4000, ""name1"": { ""name"": ""Albania"", } }";
var countries = ((JObject)JsonConvert.DeserializeObject(json))["data"]
.Children()
.Select(x => new
{
Id = (int)x.First()["country-id"],
Name = (string)x.First()["name1"]["name"],
})
.ToList();
不确定您如何获取 JSON 数据,但就像其他人建议的那样,您最好使用Json.NET之类的库以下是一些直接取自文档的基本实现:
如果您正在序列化/反序列化,请尝试此处的文档
Product product = new Product();
product.Name = "Apple";
product.ExpiryDate = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };
string output = JsonConvert.SerializeObject(product);
//{
// "Name": "Apple",
// "ExpiryDate": "2008-12-28T00:00:00",
// "Price": 3.99,
// "Sizes": [
// "Small",
// "Medium",
// "Large"
// ]
//}
Product deserializedProduct = JsonConvert.DeserializeObject<Product>(output);
如果你只是对直接查询数据感兴趣,试试这个
JObject o = JObject.Parse(@"{
'CPU': 'Intel',
'Drives': [
'DVD read/writer',
'500 gigabyte hard drive'
]
}");
string cpu = (string)o["CPU"];
// Intel
string firstDrive = (string)o["Drives"][0];
// DVD read/writer
IList<string> allDrives = o["Drives"].Select(t => (string)t).ToList();
// DVD read/writer
// 500 gigabyte hard drive
我猜后者是你真正想要的。