【发布时间】:2016-04-25 16:29:19
【问题描述】:
我已将 DataMemeber 添加到我的对象属性中以在序列化为 JSON 时更改设置,但它没有使用它们。我试图更改名称,以及发出默认值。
我尝试这样做的原因是,如果某个属性处于默认值,我想忽略它。
我正在尝试使用 Microsoft 库而不是 Newtonsoft 库。
<DataMember(EmitDefaultValue:=True, IsRequired:=False, Name:="addressTable")> Public Property addressTable() As String
Get
Return _AddressTable
End Get
Set(ByVal value As String)
_AddressTable = value
End Set
End Property
Public Function gObjToStr(ByVal InputObject As Object) As String
Dim stream1 As New IO.MemoryStream
Dim ser As Runtime.Serialization.Json.DataContractJsonSerializer = New Runtime.Serialization.Json.DataContractJsonSerializer(InputObject.GetType)
ser.WriteObject(stream1, InputObject)
stream1.Position = 0
Dim sr As New IO.StreamReader(stream1)
Dim OutString As String = Nothing
Return sr.ReadToEnd
End Function
【问题讨论】:
-
你也可以发布序列化的代码还是你在使用WCF?
-
已更新序列化代码
标签: json vb.net serialization datacontractjsonserializer