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

使用JsonConvert.DeserializeObject反序列化JSON提取字段为空问题排查

问题原因

你的JSON结构根节点是包含adressen数组的对象,而你直接将其反序列化为Adres类,两者结构不匹配,所以返回空值。Adres类对应的是数组里的单个元素,而非整个JSON根对象。

解决方案

方案一:创建根类匹配JSON结构

先定义一个根类对应整个JSON的结构,反序列化后从数组中提取目标对象:

Public Class RootAdres
    Public Property adressen As List(Of Adres)
End Class

Public Class Adres
    Public Property openbareRuimteNaam As String
    Public Property woonplaatsNaam As String
End Class

修改反序列化代码:

Dim root As RootAdres = JsonConvert.DeserializeObject(Of RootAdres)(json.last.value.ToString)
Dim account As Adres = root.adressen.FirstOrDefault() ' 提取数组第一个元素

方案二:直接用JObject提取(无需额外类)

如果不想创建根类,可借助Newtonsoft.Json.Linq的JObject直接解析:

Dim jObj As JObject = JObject.Parse(json.last.value.ToString)
Dim adresObj As JObject = jObj("adressen")(0) ' 获取数组第一个元素
Dim openbareRuimteNaam As String = adresObj("openbareRuimteNaam").ToString()
Dim woonplaatsNaam As String = adresObj("woonplaatsNaam").ToString()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 21:32:36