使用JSON.Net序列化程序序列化对象时更改JsonProperty名称
我有:使用JSON.Net序列化程序序列化对象时更改JsonProperty名称,.net,vb.net,json,json.net,.net,Vb.net,Json,Json.net,我有: Public Class Ticket Private _ITicketStyle as ITicketStyle Public Property TicketStyle() as ITicketStyle Get Return _ITicketStyle End Get Set(value as ITicketStyle) _ITicketStyle = value End Set End Property End C
Public Class Ticket
Private _ITicketStyle as ITicketStyle
Public Property TicketStyle() as ITicketStyle
Get
Return _ITicketStyle
End Get
Set(value as ITicketStyle)
_ITicketStyle = value
End Set
End Property
End Class
Public Class FlightTicket
Implements ITicketStyle
Public Property city() as String
End Class
Public Class MovieTicket
Implements ITicketStyle
Public Property name() as String
End Class
与:
我得到:output1={“TicketStyle”:{“city”:“NY”}
以及:
Dim mt as New Ticket()
mt.Ticket = New MovieTicket With { .name="Transformers" }
Dim output2 as String = JsonConvert.SerializeObject(mt)
我得到:output2={“TicketStyle”:{“name”:“Transformers”}
但我需要:
output1 = {"FlightTicket":{"city": "NY"}} and
output2={"MovieTicket": {"name": "Transformers"}}
有没有办法实现这一目标?我可以将
JsonProperty(“FlightTicket”)
应用于TicketStyle
属性,但当MovieTicket
对象被分配给TicketStyle
属性时,需要将其更改为“MovieTicket”,与vb.net相比,C#community更大,大多数程序员都会回答与JSON相关的问题。这就是我使用C#tag的原因。将它添加到.NET中,这样你就可以两全其美了。
output1 = {"FlightTicket":{"city": "NY"}} and
output2={"MovieTicket": {"name": "Transformers"}}