Newtonsoft JSON Десериалист в список типов - PullRequest
0 голосов
/ 26 марта 2020

Я имею дело с JSON, возвращаемым из API, и пытаюсь сжать код, необходимый для его десериализации.

для отдельной записи,

im передается в "объекте" ", ReturnOBJ.

public object getAPIRecord(object returnOBJ, string recordReference)
{
string TypeName = ReturnOBJ.GetType().ToString();
Type t = Type.GetType(TypeName);
//code getting string back from API
returnObject = JSONConvert.DeserializeObject(JSONfromAPI, t);
return returnObject;
}

вышеприведенное работает в функции, возвращающей объект, который я затем преобразую в то, что мне нужно в моем функциональном коде.

Я вызываю выше как:

ContentClass newContent = new ContentClass();
newContent = (ContentClass)getAPIRecord(newContent, "WC/123");

, поэтому функция выводит «ContentClass» как тип из переданного объекта.

однако, если возвращающийся JSON возвращает список / массив типа "t", как мне заставить его работать?

мой мозг думал что-то вроде

List<object> returns = JsonConvert.DeserializeObject(JSONfromAPI, List<t>);

, но он помечает список как "недопустимый в данной context ".

Полагаю, мой список также может быть неправильным. Я вообще не привык работать с Type, но я пытаюсь упростить мой код для обработки ответов API.

Я бы хотел назвать его так:

List<ContentClass> newlistOfContent = new List<ContentClass>();
newlistOfContent = getListofAPIRecords(newListOfContent, APIPArameters);

что мне нужно сделать, чтобы превратить мою запись в возвращение списка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...