Van*_*nel 3 rest wcf json web-services
我正在使用WCF开发Rest Web服务.
我有以下合同:
namespace ADM.Contracts
{
[DataContract]
public class FormContract
{
[DataMember]
public int FormId { get; set; }
[DataMember]
public string FormName { get; set; }
[DataMember]
public List<BlockContract> blocks { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
有时,块为空,我发送此JSON:
[
{
"FormId": 1,
"FormName": "Formulario 1",
"blocks": null
},
{
"FormId": 2,
"FormName": "Formulario 2",
"blocks": null
},
{
"FormId": 3,
"FormName": "Formulario 3",
"blocks": null
}
]
Run Code Online (Sandbox Code Playgroud)
我可以避免发送"blocks": null
吗?
我正在开发一个Android客户端来解析JSON数据.我该怎么处理null
?
您应该能够null
通过添加到DataMember属性来避免发送列表成员的默认值(即).
[DataMember(Name = "blocks", IsRequired=false, EmitDefaultValue=false)]
public List<BlockContract> blocks { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是,请记住,这null
是JSON中的有效值,并且应该在可能没有数据附加到您的实体时进行处理.你的javascript可能更容易有一个if条件,如:
for(var i = 0; i < data.length; ++i) {
if (data[i].blocks != null) {
//do stuff
} else {
//no blocks. do other stuff
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:我想指出,如果您需要检查有问题的数据成员是否定义了块列表,您很可能必须使用后一个选项来检查块成员是否为空.
归档时间: |
|
查看次数: |
2305 次 |
最近记录: |