Member 13175079 Ответов: 2

Дополнительный текст, встречающийся после завершения чтения содержимого JSON: ; . Path", строка 1, позиция 46."" пожалуйста, помогите...


Я разрабатывал веб-приложение, которое извлекает данные json в качестве выходных данных, и теперь я хочу, чтобы они были показаны в datatable.Когда я использую JSON в newtosoft что
""An exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll but was not handled in user code.
Я был новичком в веб-api, мой json содержит много данных даже в массивах... пожалуйста помочь

Что я уже пробовал:

public void Button1_Click(object sender, EventArgs e)
        {
           
            string myDynamicJSON = jsontb.Text;
            

            //Using dynamic keyword with JsonConvert.DeserializeObject, here you need to import Newtonsoft.Json  
            dynamic myObject = JsonConvert.DeserializeObject(myDynamicJSON);

            //Binding gridview from dynamic object   
            GridView1.DataSource = myObject;
            GridView1.DataBind();

            //Using DataTable with JsonConvert.DeserializeObject, here you need to import using System.Data;  
            DataTable myObjectDT = JsonConvert.DeserializeObject<datatable>(myDynamicJSON);

            //Binding gridview from dynamic object   
            GridView1.DataSource = myObjectDT;
            GridView1.DataBind();
        }

F-ES Sitecore

Мы не можем предположить, что может быть не так, не зная, что такое json, который вы пытаетесь десериализовать. Я предлагаю вам погуглить сообщение об ошибке и пройти через некоторые сценарии, где это может произойти, и посмотреть, применимы ли они к вам.

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Дополнительный текст, встречающийся после завершения чтения содержимого JSON: ; . Path ", строка 1, позиция 46."

Если вы внимательно прочтете сообщение об ошибке, оно сообщит вам, что ваш файл json не является файлом json после указанной позиции.
Единственное, что нужно сделать с вашим кодом, - это защитить его от такой проблемы с помощью структуры try/catch.
В противном случае, что интересно, это дамп начала вашего json-файла.


Рейтинг:
2

Jinto Jacob

в вашем коде недостаточно данных, чтобы дать правильное решение.

но, по-моему, Ваша проблема заключается в том, что DeserializeObject линия

DataTable myObjectDT = JsonConvert.DeserializeObject<datatable>(myDynamicJSON);

данные, которые вы десериализуете, могут быть не такими же, как datatable. проверьте, соответствует ли тип объекта для myDynamicJSON и datatable Одна из распространенных ошибок заключается в том, что люди пытаются десериализовать коллекцию объектов в один объект. пожалуйста, проверьте, так ли это в вашем случае.