我有以下代码
[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实现此功能的最佳方法是什么?
谢谢!
答案 0 :(得分: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; }
}
我没有尝试过,但这应该有用