-4

任何人都知道如何在下拉列表中填充这个 JSON,基本上是国家 ID 和:

data: {
    "1000": {
      "country-id": 1000,
      "name1": {
        "name": "Afghanistan",
      },
    },
    "4000": {
      "country-id": 4000,
      "name1": {
        "name": "Albania",
      }
    }
4

2 回答 2

0

你的 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();
于 2012-09-04T18:56:18.937 回答
0

不确定您如何获取 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

我猜后者是你真正想要的。

于 2012-09-04T19:03:42.693 回答