如何使用 JSON.net 从 c# 中的 JSON 文件中获取密钥及其对象?



我有一个JSON文件,像这样

    {
      "key1": "value1",
      "key2": "value2",
      "key3": "value3"
    }

和这样的类:

public class MyClass
    {
        private string key;
        private string object;
        public double Key
        {
            get { return key; }
            set { key = value; }
        }
        public string Object
        {
             get { return object; }
             set { object = value; }
        }
         public MyClass(string key, string object)
        {
                this.key = key;
                this.object = object;
        }
    }

理想情况下,我想从JSON文件中获得一个具有值的List<String>。我该如何做到这一点?

你可以反序列化成一个动态对象,然后直接访问你想要的值:

dynamic obj = JObject.Parse(yourJson);
string key1 = obj.key1;
string key2 = obj.key2;
string key3 = obj.key3;

将JSON反序列化为Dictionary<string, string>:

var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);

如果你只想要一个值列表,你可以这样做:

var values = dict.Values.ToList();
  1. 创建一个类似于json结构的类,你可以使用http://json2csharp.com/

      public class MyClass
      {
      public string key1 { get; set; }
      public string key2 { get; set; }
      public string key3 { get; set; }
      }
    
  2. 创建一个以json作为输入参数的方法,并将值添加到列表中,然后返回。

public list<string> GetValues(MyClass myClassObjects)
{
list<String> valueList = new list<String>();
for(int i=0; i< myClassObjects[0].count ; i++)
{
valueList.add(myClassObjects[0][i].toString());
}
return valueList;
}

相关内容

  • 没有找到相关文章

最新更新