You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET 2022中如何用JsonNode仅枚举JSON子键(不含值)

解决方案

要提取TemperatureRanges下的顶级键名(Cold、Hot)而不包含子结构,只需将JsonNode转换为JsonObject并访问其Keys集合即可,具体步骤如下:

修改后的VB.NET代码

Dim jsonString As String = "
    {
      ""Date"": ""2019-08-01T00:00:00"",
      ""Temperature"": 25,
      ""Summary"": ""Hot"",
      ""DatesAvailable"": [
        ""2019-08-01T00:00:00"",
        ""2019-08-02T00:00:00""
      ],
      ""TemperatureRanges"": {
          ""Cold"": {
              ""High"": 20,
              ""Low"": -10
          },
          ""Hot"": {
              ""High"": 60,
              ""Low"": 20
          }
      }
    }
    "

Dim forecastNode As JsonNode = JsonNode.Parse(jsonString)     
' 将JsonNode转换为JsonObject,以便访问键集合
Dim temperatureObj As JsonObject = forecastNode("TemperatureRanges").AsObject()
' 获取所有顶级键并拼接为逗号分隔的字符串
Dim result As String = String.Join(", ", temperatureObj.Keys)
Console.WriteLine(result)

' 如果需要将键存入数组,可使用:
' Dim keyArray As String() = temperatureObj.Keys.ToArray()

代码说明

  1. AsObject()方法将通用的JsonNode转换为具体的JsonObject类型,这样就能直接访问其Keys属性,获取该对象的所有顶级键名,不会递归解析子结构。
  2. String.Join(", ", temperatureObj.Keys)将键集合拼接成你需要的Cold, Hot格式输出。
  3. 若需将键存入数组,调用ToArray()方法即可,后续可按需使用该数组。

内容的提问来源于stack exchange,提问作者rerat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:23:12