2015-08-27 2 views
3

Код преобразует строку json в таблицу. Но моя проблема заключается в том, что она обходит массивы. Таким образом, только два поля печатаются на столе. Это вид скачет среднего поля: «обугливается»Как преобразовать строку Json с массивом объектов в datatable?

Dim JsonStr As String = "[{""Name"": ""Banana Pudding"", ""Chars"": [""abc"",""xyz""],""ID"": ""143""}]" 
     tb = JsonConvert.DeserializeObject(Of DataTable)(JsonStr) 
     GridView1.DataSource = tb 
     GridView1.DataBind() 
+1

Он не обходит его бит, он хранит массив * объект * в столбце 1. Вам нужно будет разработать способ распаковки массива. – Plutonix

ответ

2

Ваша база данных не поддерживает массив в виде строки, на самом деле я не знаю дб, что делать с принуждать для строки в массив, вы должны изменить значение Chars для простого типа, сломайте его, и он будет работать. Вы можете протестировать свой код с двоичным полем вместо строки в своей таблице, вы не указали, какую СУБД вы используете, поэтому я не могу быть более конкретным. но используя двоичное поле, заслуживающее внимания, попробуйте его, прежде чем разбивать массив на простые типы.

+0

Добро пожаловать в StackOverflow. Приветствия и приветствия, как правило, ничего не добавляют к вопросу/ответу и не одобряются сообществом SO. –

+0

Сэм, спасибо за совет и, пожалуйста, примите мои извинения, я удалил комментарии, они были очень грубы, и я просто не знаю, почему я был рывком в тот день. – Rassam

+0

Не беспокойтесь. У всех нас есть дни, которые нас раздражают. Я ценю записку, спасибо. –

Смежные вопросы