1

我有以下代码

[DataContract]
    public class DeviceParam 
    {
        public long ID { get; set; }
        [DataMember]
        public string Key { get; set; }
        [DataMember(EmitDefaultValue = false)]
        public string Value { get; set; }
        [DataMember(Name = "param", EmitDefaultValue = false)]
        public List<DeviceParam> Param { get; set; }
    }

问题是,它会产生:

{"Key":"Param1","param":[{"Key":"ParamChild1","Value":"1"}]}]

我正在努力实现所需的格式:

{"Param1": {"ParamChild1" : "1" }}

我无法做到这一点,因为该类包含自身的类。并且似乎 WCF 不喜欢我为实现它所做的所有修改。

使用 WCF 输出 JSON 实现这一点的最佳方法是什么?

谢谢!

4

1 回答 1

0

按如下方式划分您的班级:

[DataContract]
    public class DeviceParam 
    {
        public long ID { get; set; }
        [DataMember]
        public string Key { get; set; }
        [DataMember(EmitDefaultValue = false)]
        public string Value { get; set; }
    }
 [DataContract]
  public class DeviceParamsList
  {
        [DataMember(Name = "param", EmitDefaultValue = false)]
        public List<DeviceParam> Param { get; set; }
  }

我还没有尝试过,但这应该可以

于 2012-12-06T07:37:18.630 回答