VB.NET 2008 не имеет конструкции new[]
, но VB.NET 2010 имеет. Вы не можете создать массив анонимных типов непосредственно в VB.NET 2008. Хитрость заключается в том, чтобы объявить такую функцию:
Function GetArray(Of T)(ByVal ParamArray values() As T) As T()
Return values
End Function
И пусть компилятор выведет нам тип (так как это анонимный тип, мы не можем указать имя). Тогда используйте это как:
Dim jsonData = New With { _
.total = totalPages, _
.page = page, _
.records = totalRecords, _
.rows = GetArray( _
New With {.id = 1, .cell = GetArray("1", "-7", "Is this a good question?")}, _
New With {.id = 2, .cell = GetArray("2", "15", "Is this a blatant ripoff?")}, _
New With {.id = 3, .cell = GetArray("3", "23", "Why is the sky blue?")}
) _
}
PS. Это не называется JSON. Это называется анонимным типом.