Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim jsonObj = JsonConvert.DeserializeObject(Of JObject)(TextBox1.Text) Dim jsonDataTable As New DataTable("JsonDataTable") For Each grp In jsonObj("list")("grouplist") Dim key = grp.ToString() Dim tbl As New DataTable() tbl.Columns.Add("ID", GetType(Long)).AutoIncrement = True tbl.Columns.Add(key) tbl.PrimaryKey = New DataColumn() {tbl.Columns(0)} For Each row In jsonObj("list")(key) Dim newRow = tbl.NewRow() newRow.SetField(Of String)(key, row.ToString()) tbl.Rows.Add(newRow) Next jsonDataTable.Merge(tbl, False, MissingSchemaAction.AddWithKey) Next jsonDataTable.PrimaryKey = Nothing jsonDataTable.Columns.RemoveAt(0) jsonDataTable.AcceptChanges() DataGridView1.DataSource = jsonDataTable End Sub