如何在VB.Net/C#中遍历JSON的Items并提取属性值
解决方法
第一步:修正Items的获取方式
你当前代码把items数组转成了JSON字符串,这会导致无法直接遍历处理。应该将Items声明为JArray类型,保留JSON数组的结构:
Dim ParseJson As JObject = JObject.Parse(APIReturn) Dim Items As JArray = ParseJson.SelectToken("items") ' 直接获取JArray,不转字符串
第二步:遍历数组并提取字段
遍历JArray中的每个JObject,通过GetValue方法提取目标字段,该方法可以指定默认值,避免字段缺失时抛出异常:
For Each item As JObject In Items ' 提取title,字段缺失时返回空字符串 Dim title As String = item.GetValue("title", StringComparison.OrdinalIgnoreCase)?.ToString() ?? "" ' 提取date,字段缺失时返回空字符串 Dim dateStr As String = item.GetValue("date", StringComparison.OrdinalIgnoreCase)?.ToString() ?? "" ' 提取category,字段缺失时返回空字符串 Dim category As String = item.GetValue("category", StringComparison.OrdinalIgnoreCase)?.ToString() ?? "" ' 这里可以添加自定义处理逻辑,比如打印值或存入实体对象 Console.WriteLine($"标题:{title},日期:{dateStr},分类:{category}") Next
补充说明
GetValue的第二个参数指定忽略大小写,适配可能存在的字段大小写差异- 使用
?.ToString()避免字段为null时触发空引用异常 ?? ""确保字段缺失时返回空字符串,方便后续统一处理
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

