Проблема с правильной десериализацией API REST.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с правильной десериализацией API REST.

Сообщение Anonymous »

Сердечное приветствие, у нас проблема с нашим кодом. Код работает правильно, но затем показывает ошибку:

Newtonsoft.Json.JsonSerializationException: 'Невозможно десериализовать текущий объект JSON (например, { "name":"value"}) в тип 'System.Collections.Generic.List`1[FlotasNetDAL.CANDataObj]', поскольку для правильной десериализации для этого типа требуется массив JSON (например, [1,2,3]).
Чтобы исправить эту ошибку, либо измените JSON на массив JSON (например, [1,2,3]), либо измените десериализованный тип так, чтобы он был обычным типом .NET (например, не примитивным). тип, такой как целое число, а не тип коллекции, такой как массив или список), который можно десериализовать из объекта JSON. JsonObjectAttribute также можно добавить к типу, чтобы принудительно выполнить его десериализацию из объекта JSON.
Путь '[0].CANInfo.CANData', строка 1, позиция 301.'

Это наши занятия:

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlotasNetDAL
{
public class vehicleInfo
{
public long uniqueID { get; set; }
public string? plate { get; set; }
public DateTime GPSDate { get; set; }
public float latitude { get; set; }
public float longitude { get; set; }
public int speed { get; set; }
public int course { get; set; }
public float odometer { get; set; }
public DateTime receivedDate { get; set; }
public stateDataList? stateInfo { get; set; }
public int GPSQuality { get; set; }
public List? CANInfo { get; set; }
public peripheralsDataList? peripheralsInfo { get; set; }
public geofenceData? geofenceInfo { get; set; }
}
}

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FlotasNetDAL
{
public class CANDataObj
{
public string? CANParam { get; set; }
public string? CANValue { get; set; }
}
}
Мы пытались изменить эту строку

Код: Выделить всё

public List? CANInfo { get; set; }
в

Код: Выделить всё

public CANDataObj? CANInfo { get; set; }
Начинаем получать данные, но ошибка продолжает появляться.
Спасибо, если можете мне помочь

Подробнее здесь: https://stackoverflow.com/questions/790 ... n-api-rest
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с правильной десериализацией API REST.
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как пройти аутентификацию для FCM Rest API с помощью Google REST API в PHP REST API?
    Anonymous » » в форуме Php
    0 Ответы
    162 Просмотры
    Последнее сообщение Anonymous
  • Проблема с десериализацией данных JSON из API CoinGecko.
    Anonymous » » в форуме C#
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Как правильно управлять привязкой данных и сериализацией/десериализацией BitmapImage?
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Проблема с десериализацией классов Spring Security
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»