Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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# 将Json转换为字典_C#_Json - Fatal编程技术网

C# 将Json转换为字典

C# 将Json转换为字典,c#,json,C#,Json,我对json不是100%熟悉,我四处看看我的问题是否得到了回答,但无论如何,我有一个json文件,其中包含多个具有以下格式的词典: { “字符串”:{ “第1条”:[ { "一级",, “描述”:“d1”, “图标”:“1” } ], “第2条”:[ { “级别”:2, “描述”:“d2”, “图标”:“2” } ], “第3条”:[ { "三级",, “描述”:“d3”, “图标”:“3” } ] } }, String是静态的,但是string1-3是动态的,可以有任何字符串值,而这些字典

我对json不是100%熟悉,我四处看看我的问题是否得到了回答,但无论如何,我有一个json文件,其中包含多个具有以下格式的词典:

{
“字符串”:{
“第1条”:[
{
"一级",,
“描述”:“d1”,
“图标”:“1”
}
],
“第2条”:[
{
“级别”:2,
“描述”:“d2”,
“图标”:“2”
}
],
“第3条”:[
{
"三级",,
“描述”:“d3”,
“图标”:“3”
}
]
}
},
String是静态的,但是string1-3是动态的,可以有任何字符串值,而这些字典中的多个会出现在整个文件中,通过任何json2class转换器运行它会给我提供对象字符串{get;set;}

我想做的是将其转换为以下内容:

字典{get;set;}
公共类对象
{
公共整数级别{get;set;}
公共字符串desc{get;set;}
公共字符串图标{get;set;}
}

您可以使用以下方法轻松反序列化json字符串:

public class DictionaryContainer
{
    public Dictionary<string, List<SampleObject>>  String { get; set; }
}

public class SampleObject
{
    public int level { get; set; }
    public string desc { get; set; }
    public string icon { get; set; }
}

string jsonString = "Your json string";
var dic =  JsonConvert.DeserializeObject<DictionaryContainer>(jsonString);
公共类字典容器
{
公共字典字符串{get;set;}
}
公共类SampleObject
{
公共整数级别{get;set;}
公共字符串desc{get;set;}
公共字符串图标{get;set;}
}
string jsonString=“您的json字符串”;
var dic=JsonConvert.DeserializeObject(jsonString);

同时发布转换代码。从我现在看到的情况来看,您可能希望使用dynamic/dictionary而不是Object.Convert代码?StageBase=JsonConvert.DeserializeObject(json);尝试执行此操作时,var dic为空,有什么想法吗?
string\u string=\u Stage.boss.ToString();Boss _Boss=JsonConvert.DeserializeObject(_字符串)我用来反序列化它的代码什么是Boss?如果你想反序列化你发布的jason,你应该使用“Dictionary”。你能发布你的对象定义吗?这就是json文件,如果您能看到它,可能会更容易。