使用JavaScript json文件初始化C#字典的正确方法?

时间:2015-06-13 10:20:01

标签: javascript c# json asp.net-mvc dictionary

我目前在JavaScript和ASP.Net MVC 5中编写的服务器之间有一个Web Socket。有没有人知道我在创建它时是否可以将json文件插入到C#字典中?在JavaScript中,我可以轻松地传递数据,但是如何使用json格式初始化C#字典呢?

  {"id": "svgContent","children": [
     {"id": "circle1","tag": "path",
     "value": "M0,160A160,160 0 1,1 0,-160A160,160 0 1,1 0,160M0,100A100,100 0 1,0 0,-100A100,100 0 1,0 0,100Z",
"children": [
    { "id": "point", "cx": "-67.59530401363443", "cy": "-93.03695435311894" },
    { "id": "point", "cx": "-109.37149937394265", "cy": "35.53695435311897" },
    { "id": "point", "cx": "1.4083438190194563e-14", "cy": "115" }
  ]

 },
       {"id": "circle2","tag": "path","value": "M0,260A260,260 0 1,1 0,-260A260,260 0 1,1 0,260M0,200A200,200 0 1,0 0,-200A200,200 0 1,0 0,200Z",
"children": [                
    { "id": "point", "cx": "-126.37382924288177", "cy": "-173.93865379061367" },
    { "id": "point", "cx": "-204.477151003458", "cy": "66.43865379061373" },
    { "id": "point", "cx": "2.6329906181668095e-14", "cy": "215" }

    ]

  }

]}

1 个答案:

答案 0 :(得分:3)

您应该创建一个匹配的类来适应这个JSON数据模型,而不是将数据反序列化为C#对象。

  1. 您应该添加框架Json.NET
  2. 创建C#数据模型
  3. 将数据从JSON反序列化为C#模型。
  4. DataModel示例:

    public class Child2
    {
        public string id { get; set; }
        public string cx { get; set; }
        public string cy { get; set; }
    }
    
    public class Child
    {
        public string id { get; set; }
        public string tag { get; set; }
        public string value { get; set; }
        public List<Child2> children { get; set; }
    }
    
    public class RootObject
    {
        public string id { get; set; }
        public List<Child> children { get; set; }
    }
    

    Deserilize的例子:

    var createdObject = JsonConvert.DeserializeObject<RootObject>(jsonText);