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

VB.NET解析含" & vbLF & "的API返回JSON字符串报错求助

解决VB.NET中Newtonsoft解析API返回JSON的错误

问题核心原因

你遇到的错误并非来自JSON字符串里的换行符(vbLF)——JSON本身允许换行格式,且你已验证内容合法。真正的问题是:

  • API返回的是JSON数组(开头为[),但你用了JObject.Parse去解析单个JSON对象(要求开头为{),类型不匹配导致报错。

解决方案

1. 修正解析类型

将JObject.Parse替换为JArray.Parse,对应JSON数组的解析:

Dcontent = Await Response.Content.ReadAsStringAsync
Dim DiscJ As JArray = JArray.Parse(Dcontent)

2. 提取数组中的对象(如果需要)

如果要操作数组内的单个对象,可从数组中获取:

' 获取数组第一个对象(根据实际业务调整索引)
Dim firstDetail As JObject = DiscJ(0)
' 读取对象属性示例
Dim count As Integer = firstDetail("count").Value(Of Integer)()
Dim kind As String = firstDetail("kind").Value(Of String)()

3. 清理冗余字符(若存在异常情况)

如果API返回的字符串中混有多余的VB字符串拼接标识(比如示例中的" & vbLF & "),可先清理:

' 移除多余的拼接标识(仅当实际返回包含这些字符时使用)
Dcontent = Dcontent.Replace(""" & vbLF & """, "")

注:如果只是纯换行符(vbLF),无需清理,Newtonsoft会自动处理合法的JSON换行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:01:21