One of the ways to serialize an object to JSON string in VB.NET in the Json.NET is using the SerializeObject method defined in the JsonConvert method.
The JsonConvert class provides an easy to use wrapper class and method over the JsonSerializer.
How to Serialize an Object in VB.NET using Json.NET ?
Below is the sample code snippet demonstrating the usage of JsonConvert.SerializeObject method in C# for serialization. The SerializeObject method has 7 overloads option.
Public Shared Function SerializeObject(value As Object) As String End Function Public Shared Function SerializeObject(value As Object, ParamArray converters As JsonConverter()) As String End Function Public Shared Function SerializeObject(value As Object, settings As JsonSerializerSettings) As String End Function Public Shared Function SerializeObject(value As Object, formatting As Formatting) As String End Function Public Shared Function SerializeObject(value As Object, formatting As Formatting, ParamArray converters As JsonConverter()) As String End Function Public Shared Function SerializeObject(value As Object, type As Type, settings As JsonSerializerSettings) As String End Function Public Shared Function SerializeObject(value As Object, formatting As Formatting, settings As JsonSerializerSettings) As String End Function Public Shared Function SerializeObject(value As Object, type As Type, formatting As Formatting, settings As JsonSerializerSettings) As String End Function
The below code uses the parameterized method which uses the Formatting as the second parameter.
Imports Newtonsoft.Json
Module Module1
Sub Main()
Dim emp As New Employee()
emp.Name = "Abundantcode"
emp.IsPermanent = True
emp.Departments = New List(Of String)()
emp.Departments.Add("Technology")
emp.Departments.Add("Product Engineering")
' Serializing the employee object to Json string
Dim jsonTxt As String = JsonConvert.SerializeObject(emp, Formatting.Indented)
Console.WriteLine(jsonTxt)
Console.ReadLine()
End Sub
Public Class Employee
Public Property Name() As String
Get
Return m_Name
End Get
Set
m_Name = Value
End Set
End Property
Private m_Name As String
Public Property IsPermanent() As Boolean
Get
Return m_IsPermanent
End Get
Set
m_IsPermanent = Value
End Set
End Property
Private m_IsPermanent As Boolean
' Employee can belong to multiple departments
Public Property Departments() As List(Of String)
Get
Return m_Departments
End Get
Set
m_Departments = Value
End Set
End Property
Private m_Departments As List(Of String)
End Class
End Module
The output of the above code is
{
"Name": "Abundantcode",
"IsPermanent": true,
"Departments": [
"Technology",
"Product Engineering"
]
}
Leave a Reply