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