Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq
Imports Newtonsoft.Json.Converters
Imports Newtonsoft.Json.Serialization
Private Readonly licence_plate_number As String
Public Sub New(ByVal licence_plate_number as String)
Me.licence_plate_number = licence_plate_number
<JsonProperty("licence_plate_number")> _
Public ReadOnly Property RegistrationNumber As String
Return licence_plate_number
Dim vehicle = new Vehicle("1234")
Dim json = JsonConvert.SerializeObject(vehicle)
Console.WriteLine("Serialized vehicle: ")
Dim vehicle2 = JsonConvert.DeserializeObject(of Vehicle)(json)
Dim json2 = JsonConvert.SerializeObject(vehicle2)
Console.WriteLine("Deserialized and re-serialized vehicle: ")
If (vehicle.RegistrationNumber <> vehicle2.RegistrationNumber) Then
throw New InvalidOperationException("vehicle.RegistrationNumber <> vehicle2.RegistrationNumber")
Console.WriteLine("RegistrationNumber round-tripped successfully.")