Не могли бы вы помочь мне десериализовать следующий JSON в c #.
[
{
"detectedLanguage": {
"language": "en",
"score": 10.0
},
"translations": [
{
"text": "",
"to": "da"
},
{
"text": "",
"to": "da"
}
]
}
]
Я использовал следующие классы c # для десериализации, но получил исключение.
public class DetectedLanguage
{
public string language { get; set; }
public int score { get; set; }
}
public class Translation
{
public string text { get; set; }
public string to { get; set; }
}
public class RootObject
{
public DetectedLanguage detectedLanguage { get; set; }
public List<Translation> translations { get; set; }
}
Мой код десериализации:
var response = client.SendAsync(request).Result;
var jsonResponse = response.Content.ReadAsStringAsync().Result;
var result = JsonConvert.DeserializeObject<RootObject>(jsonResponse);
Исключение
Невозможно десериализовать текущий массив JSON (например, [1,2,3]) в тип 'RootObject', поскольку для типа требуетсяJSON-объект (например, {"name": "value"}) для правильной десериализации.Чтобы исправить эту ошибку, либо измените JSON на объект JSON (например, {"name": "value"}), либо измените десериализованный тип на массив или тип, который реализует интерфейс коллекции (например, ICollection, IList), например List, который можетбыть десериализованным из массива JSON.JsonArrayAttribute также может быть добавлен к типу, чтобы принудительно десериализовать его из массива JSON.Путь '', строка 1, позиция 1.