【发布时间】:2017-09-26 06:00:12
【问题描述】:
我有一个 JSON 文件,我正在尝试将其反序列化为一个以字典为值的列表,但在以良好格式获取输出并在反序列化后努力对其进行索引/解析时遇到了困难。我是新手,希望能得到帮助。我希望键/值对看起来像: {"greeting" : ["greet1": "hey", "greet2" : "hi"]}
JSON 文件如下:
{
"greeting": [
{
"greet1": "hey",
"greet2": "hi"
}
],
"bye": [
{
"bye1": "adios"
}
]
}
尝试的代码:
public static Dictionary<string, List<Dictionary<string, string>>> jsonResponses = new Dictionary<string, List<Dictionary<string, string>>>();
public static void DeserializeJsonDict()
{
string jsonURL = HttpContext.Current.Server.MapPath("./theFile.json");
using (var webClient = new System.Net.WebClient())
{
var jsonData = webClient.DownloadString(jsonURL);
jsonResponses = JsonConvert.DeserializeObject<Dictionary<string, List<Dictionary<string, string>>>>(jsonData);
}
}
【问题讨论】:
-
你想动态生成一个类对象作为输入的jsonstring吗?喜欢:
Object{objGreeting{propGreeting1,propGreeting2},objBye{propBye1}}? -
你的问题是什么?
JsonConvert.DeserializeObject<Dictionary<string, List<Dictionary<string, string>>>>(jsonData)完美运行。有关演示,请参阅 dotnetfiddle.net/V3NX3n。 -
是的,它有效,但我现在正在努力索引输出以提取值。我将如何索引字典和字典中的列表?
-
JsonConvert.DeserializeAnonymousType(System.Uri.UnescapeDataString(str), new Dictionary
());
标签: c# json dictionary serialization