Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JsonConvert.DeserializeObject用于具有不同键名的json_C#_Json_Json.net - Fatal编程技术网

C# JsonConvert.DeserializeObject用于具有不同键名的json

C# JsonConvert.DeserializeObject用于具有不同键名的json,c#,json,json.net,C#,Json,Json.net,我正在尝试将Json.Net转换器用于这个奇怪的Json: { "Key1": { "id": "1", "name": "one" }, "Key2": { "id": "2", "name": "two" }, ... "CouldBeAnything": { "id": "n", "name": "CouldBeAnything" } } 如果我使用json-to-xml源代码生成,我会得到具有名为Key1、Key2等属性的对象。这不起作用

我正在尝试将Json.Net转换器用于这个奇怪的Json:

{
  "Key1": {
  "id": "1",
  "name": "one"
  },
  "Key2": {
  "id": "2",
  "name": "two"
  },
...
  "CouldBeAnything": {
  "id": "n",
  "name": "CouldBeAnything"
  }
}

如果我使用json-to-xml源代码生成,我会得到具有名为Key1、Key2等属性的对象。这不起作用,因为我需要这些键和与它们相关联的值的列表。有没有办法创建一个可以直接序列化的对象?提前谢谢

您可以这样做:

    class Class1
    {
        public string id { get; set; }
        public string name { get; set; }
    }

    static void Main(string[] args)
    {
        var d = new Dictionary<string, Class1>();

        d.Add("Key1", new Class1() { id = "1", name = "one" });
        d.Add("Key2", new Class1() { id = "2", name = "two" });
        d.Add("CouldBeAnything", new Class1() { id = "n", name = "CouldBeAnything" });

        var json = JsonConvert.SerializeObject(d, Formatting.Indented);

    }
Class1类
{
公共字符串id{get;set;}
公共字符串名称{get;set;}
}
静态void Main(字符串[]参数)
{
var d=新字典();
d、 添加(“Key1”,newclass1(){id=“1”,name=“one”});
d、 添加(“Key2”,newclass1(){id=“2”,name=“two”});
d、 添加(“CouldBeAnything”,new Class1(){id=“n”,name=“CouldBeAnything”});
var json=JsonConvert.serialized对象(d,Formatting.Indented);
}

使用
字典
,如解释或所示。非常感谢!!