Пытаюсь сериализовать json следующим образом:
<JsonArray>
Public Class NumbersItem
Public Sub New(objTime As Long, objSolValue As Long, objUsageValue As Long)
DetectionTime = objTime
SolValue = objSolValue
UsageValue = objUsageValue
End Sub
Public ReadOnly Property DetectionTime As Long
Public ReadOnly Property SolValue As Long
Public ReadOnly Property UsageValue As Long
End Class
Получить данные и преобразовать:
'Get Solar Gen
Dim SolarResultsfound = VATWebClient.UploadString("https://XXXXXX.org/feed/data.json?id=" + SolarID + "&start=" + UNStartTime.ToString + "&end=" + UNEndTime.ToString + "&interval=1300", "")
'Get Usage
Dim UsageResultsfound = VATWebClient.UploadString("https://xxxxxx.org/feed/data.json?id=" + UsageID + "&start=" + UNStartTime.ToString + "&end=" + UNEndTime.ToString + "&interval=1300", "")
Изменить: данные, которые я возвращаю, имеют следующий формат в обоих запросах, до 3 тыс. Наборов каждый.
[[1579617389000,132],[1579617399000,136],[1579617409000,139],[1579617419000,137]]
Изменить: затем я хочу объединить оба (и в будущем их будет больше) для отправки в диаграммы Google. Я беру время unix (первый столбец) и значение (второй столбец) из первых результатов и только столбец значений из второго.
'Create an list from json results
Dim numbers As New List(Of NumbersItem)()
Dim jsonArrays = JArray.Parse(SolarResultsfound)
Dim jsonUsageArrays = JArray.Parse(UsageResultsfound)
For Each array As JArray In jsonArrays.Children()
For Each usage As JArray In jsonUsageArrays
numbers.Add(New NumbersItem(CType(array.First, Long), CType(array.Last, Long), CType(usage.Last, Long)))
Next
Next
И затем я пытаюсь сериализовать следующее.
Dim jsonTxt As String = Newtonsoft.Json.JsonConvert.SerializeObject(numbers)
И получите следующую ошибку
Не удалось привести объект типа «xxxxxx.NumbersItem» к типу «System.Collections.IEnumerable».
У меня есть ощущение, что это должно быть так, как я вызываю сериализатор, но я не могу найти правильный синтаксис.