解析包含数字和字符串的 JSON 嵌套数组

Parse a JSON nested array with numbers and strings

我从网络服务器收到以下 JSON 响应:

[
  [
    1499040000000,
    "0.01634790",
    "0.80000000",
    "0.01575800",
    "0.01577100",
    "148976.11427815",
    1499644799999,
    "2434.19055334",
    308,
    "1756.87402397",
    "28.46694368",
    "17928899.62484339"
  ]
]

如何使用 System.Text.Json 将其解析为数组?
我已经尝试过 String.Split()String.Replace()(因为括号和引号出现在元素中)但这是一种“丑陋”的方法。

如有任何建议,我们将不胜感激。

那 JSON 表示数组的数组(好吧,这里是单个嵌套数组)。
您可以将其解析为 List(Of Double())List(Of List(Of Double)).

混合数据类型(字符串和数字),可以转换为所有数字,设置一个JsonSerializerOptions that specifies the NumberHandling来使用,这里设置为AllowReadingFromString.

Dim options = New JsonSerializerOptions() With {
    .NumberHandling = JsonNumberHandling.AllowReadingFromString
}

Dim listOfDouble = JsonSerializer.Deserialize(Of List(Of Double()))(json, options)

您还可以反序列化为 List(Of Object()) 并稍后执行转换,或者只读取值作为字符串,在读取列表的元素时调用 .ToString()

 Dim listOfObjects = JsonSerializer.Deserialize(Of List(Of Object()))(json)