使用 JavaScriptSerializer 从任何结构获取字典

本文关键字:获取 字典 结构 任何 JavaScriptSerializer 使用 | 更新日期: 2023-09-27 18:33:03

我想将一个JSON字符串(由任何将Javascript结构转换为JSON的工具生成(解析为字符串字典(只是字符串(。问题是我得到的JSON可以包含更多结构,因此当涉及到某些字段时,最终字典可能包含其他字典。

示例字符串

假设我有以下 JSON 字符串:

string json = @"{
  "name":"kyosuke",
  "surname":"kasuga",
  "city":
    {
      "name":"tokyo",
      "ku-ward":"minato",
      "prefecture":"tokyo",
      "island":"honshu"
    }
}";

词典词典

我想在 C# 中得到这个:

Dictionary<string,string> dictionary = Converter.GetData(json);
dictionary["name"] as string != null;
dictionary["surname"] as string != null;
var subdictioary = dictionary["city"] as Dictionary<string,string>;
subdictionary != null;
subdictionary["name"] as string != null;
subdictionary["ku-ward"] as string != null;
subdictionary["prefecture"] as string != null;
subdictionary["island"] as string != null;

如何使用JavaScriptSerializer来实现此目的?谢谢

关于 JSON.Net 的说明

我不能使用 JSON.Net,我必须依靠.NET框架。 :(

使用 JavaScriptSerializer 从任何结构获取字典

这个问题在这里有一个正确的答案:将 JSON 反序列化为 C# 动态对象?。

通过遵循那里描述的方法,可以实现我需要的一切。请注意,这个问题比链接问题中报告的详细场景更具体。