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
相关产品推荐
相关产品推荐

