мне нужна помощь в JSON desereialization от нулевого значения, есть ошибка в окне вывода, но я не знаю, что является причиной, ошибка:десериализации нулевое значение в формате JSON
Exception thrown: 'Newtonsoft.Json.JsonSerializationException' in Newtonsoft.Json.dll
JSON выглядит следующим образом:
[{ "TID": "1", "taskdescript": "Танк", "taskstatus": "1", "имя пользователя": "администратор", "prjdescript":» XXX "," dateuseraccept ": null," expectedduration ":" 0 "," actualduration ":" 0 "}]
Часть коды, обрабатывающая десериализация выглядит следующим образом:
.....
Dim responsebody = (New Text.UTF8Encoding).GetString(responsebytes)
'Dim settings = New JsonSerializerSettings()
'settings.NullValueHandling = NullValueHandling.Include
'settings.MissingMemberHandling = MissingMemberHandling.Ignore
'settings.DateParseHandling = DateParseHandling.None
Console.WriteLine(responsebody)
Dim datacollection = JsonConvert.DeserializeObject(Of jsonPrjData())(responsebody)
For Each oneVar As jsonPrjData In datacollection
' Avoid Nothing vars.
MsgBox(oneVar.TID.ToString)
If oneVar IsNot Nothing Then
datagrid.Rows.Add(oneVar.TID, oneVar.taskDescript, oneVar.taskStatus, oneVar.prjDescript, oneVar.username, oneVar.dateUserAccept.ToString("dd-MM-yyyy"), oneVar.estimatedDuration, oneVar.actualDuration)
End If
Next
Класс:
Public Class jsonPrjData
Public Property TID() As Int16
Public Property taskDescript() As String
Public Property taskStatus() As Int16
Public Property username() As String
Public Property prjDescript() As String
Public Property dateUserAccept() As Date
Public Property estimatedDuration() As Int16
Public Property actualDuration() As Int16
End Class
Линия с MsgBox(oneVar.TID.ToString)
не возвращает ничего, из-за ошибки, когда десериализующее нулевое значение. Как я могу решить проблему?
Это недопустимо json. Есть много дополнительных котировок. У вас есть лучшая версия/копия? – Plutonix
Я обновил JSON, так он выводится скриптом php. – Starlays
Это лучше - у старого даже были отмечены отметки ':'. Действительно ли звезды вокруг нулевого? или это вы? – Plutonix