Imports Newtonsoft.Json.Linq
Dim dt as New DataTable()
dt.Columns.Add("InvNo", GetType(String))
dt.Columns.Add("DateTime", GetType(String))
dt.Columns.Add("Name", GetType(String))
dt.Columns.Add("PhoneNumber", GetType(String))
dt.Columns.Add("BillAmount", GetType(Decimal))
dt.Columns.Add("Quantity", GetType(Decimal))
dt.Columns.Add("Value", GetType(Decimal))
dt.Columns.Add("Discount", GetType(Decimal))
dt.Columns.Add("Type", GetType(Integer))
dt.Columns.Add("Items", GetType(DataTable))
Dim inner as New DataTable()
inner.Columns.Add("I_Code", GetType(String))
inner.Columns.Add("I_Name", GetType(String))
inner.Columns.Add("I_Quantity", GetType(Decimal))
inner.Columns.Add("I_TaxRate", GetType(Decimal))
inner.Columns.Add("I_Sale", GetType(Decimal))
inner.Columns.Add("I_T_Amount", GetType(Decimal))
inner.Columns.Add("I_Discount", GetType(Decimal))
inner.Rows.Add("IT_1011", "Test Item", 1.0, 0.0, 0.0, 0.0, 0.0)
inner.Rows.Add("IT_1012", "Test Item", 1.0, 0.0, 0.0, 0.0, 0.0)
dt.Rows.Add("1", "2020-01-01 12:00:00", "Customer Name", "0000-0000000", 0.0, 0.0, 0.0, 0.0, 1, inner)
Dim json = JToken.FromObject(dt).First.ToString()