json到.net类n-ary树?

时间:2013-10-28 13:06:54

标签: .net json wcf rest

{
"allnodes":[
{
    "nodes":[
        {
            "data":{
            "parentId":"1",
            "nodes":[

            ],
            "name":"a",
            "nodescount":0,
            "id":"2"
            }
        },
        {
            "data":{
            "parentId":"1",
            "nodes":[
                {
                    "data":{
                        "parentId":"3",
                        "nodes":[

                        ],
                        "name":"b",
                        "nodescount":0,
                        "id":"4"
                    }
                }
            ],
            "name":"c",
            "nodescount":1,
            "id":"3"
            }
        }
    ],
    "name":"d",
    "nodescount":2,
    "id":"1"
    }
    ]
}

.net数据合约

  [DataContract]
   class Node
   {
      [DataMember(Name = "id")]
      public string id { get; set; }

      [DataMember(Name = "name")]
      public string name { get; set; }

      [DataMember(Name = "parentId")]
      public string ParentId { get; set; }

      [DataMember(Name = "nodescount")]
      public long Nodescount { get; set; }

      [DataMember(Name = "nodes")]
       public IEnumerable<Node> Nodes { get; set; }
   }

wcf rest call

     [WebGet(UriTemplate = "/abc/nodes",
     RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json,
     BodyStyle = WebMessageBodyStyle.Wrapped)]
  void GetNodeTree(,
     [MessageParameter(Name = "allnodes")]
     out Node[] items);

问题: 我遇到的问题是内部节点没有加载正确的信息,顶层工作,我似乎无法得到我在datacontract中缺少的东西?

1 个答案:

答案 0 :(得分:0)

节点类在删除对象后效果很好,因为这是多余的

“数据”:{ }

相关问题