Проблема может быть долгой, но я уверен, что решение довольно просто для тех, кто знаком с средой Visual Studio. Я спокоен, и это не наша область исследований, поэтому у нас есть некоторые проблемы. Я буду рад получить любую помощь!Удаление десериализации объекта JSON в C#
я столкнулся со следующей проблемой:
Я пытаюсь Deserialize следующий формат JSON:
[
{
"id": 1,
"active": true,
"air_drop_pos": {
"latitude": 38.141833,
"longitude": -76.425263
},
"fly_zones": [
{
"altitude_msl_max": 200.0,
"altitude_msl_min": 100.0,
"boundary_pts": [
{
"latitude": 38.142544,
"longitude": -76.434088,
"order": 1
},
{
"latitude": 38.141833,
"longitude": -76.425263,
"order": 2
},
{
"latitude": 38.144678,
"longitude": -76.427995,
"order": 3
}
]
}
],
"home_pos": {
"latitude": 38.14792,
"longitude": -76.427995
},
"mission_waypoints": [
{
"altitude_msl": 200.0,
"latitude": 38.142544,
"longitude": -76.434088,
"order": 1
}
],
"off_axis_target_pos": {
"latitude": 38.142544,
"longitude": -76.434088
},
"emergent_last_known_pos": {
"latitude": 38.145823,
"longitude": -76.422396
},
"search_grid_points": [
{
"altitude_msl": 200.0,
"latitude": 38.142544,
"longitude": -76.434088,
"order": 1
}
]
}
]
Использование команды: Edit -> Paste Special -> Вставить JSON как класс Я создал необходимый класс для получения всей информации.
Затем в C# я использую следующий код для десериализации данных:
using (webResponse3 = (HttpWebResponse)webRequest3.GetResponse())
{
using (var stream = webResponse3.GetResponseStream())
{
using (var reader = new StreamReader(stream))
{
RootobjectMissions outObject1 = (RootobjectMissions)new JsonSerializer().Deserialize(reader, typeof(RootobjectMissions));
}
}
}
И я получаю следующее сообщение об ошибке:
Что возможный способ изменить формат к правильному? Источник JSON выглядит как массив, который входит в класс класса. В чем проблема?
Я ценю любую помощь!
Не могли бы вы скопировать ссылку на исключение в виде текста и предоставить код для определения классов. – Sherlock
Попробуйте json2csharp.com для генерации ваших классов, это распространенная причина, по которой десериализация терпит неудачу. – abdul
Вы не предоставили свои объекты C#, которые вы пытаетесь десериализировать, чтобы мы не могли помочь. Самый простой способ получить реальный набор из них - скопировать JSON и использовать Visual Studio для вставки JSON в качестве классов. – DavidG