Я имею дело с 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);
что мне нужно сделать, чтобы превратить мою запись в возвращение списка?