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 に答える