解析包含具有不同外壳的相同键的JSON字典

时间:2017-10-27 13:55:02

标签: c# json

我有问题; 我想知道是否有一种解析json文件而没有唯一格式的方法。所以它可能有不同的属性,但它们都包含属性Status但它可以是double。

  {
  "requestid": "1111",
  "message": "db",
  "status": "OK",
  "data": [
    {
      "Status": "OK", // this one I would to test first to read the other attributes
      "fand": "",
      "nalDate": "",
      "price": 1230000,
      "status": 2
    }
  ]
}

2 个答案:

答案 0 :(得分:1)

用于.NET的事实标准Json序列化程序是Newtonsoft.JsonHow to install)。您可以将Json解析为对象图,并按照您喜欢的顺序对其进行处理:

namespace ConsoleApp3
{
    using System;
    using Newtonsoft.Json.Linq;

    class Program
    {
        static void Main()
        {
            var text = @"{
                'requestid': '1111',
                'message': 'db',
                'status': 'OK',
                'data': [
                {
                    'Status': 'OK', // this one I would to test first to read the other attributes
                    'fand': '',
                    'nalDate': '',
                    'price': 1230000,
                    'status': 2
                }
                ]
            }";

            var json = JObject.Parse(text);

            Console.WriteLine(json.SelectToken("data[0].Status").Value<string>());
            Console.ReadLine();
        }
    }
}

答案 1 :(得分:1)

https://www.newtonsoft.com/json

Data data = JsonConvert.DeserializeObject<Data>(json);

使用json中的有趣数据创建类Data