Arrays 从JsonReader VB.net读取JArray时出错
哪里出了问题? 我的编码Arrays 从JsonReader VB.net读取JArray时出错,arrays,vb.net,Arrays,Vb.net,哪里出了问题? 我的编码 Imports Newtonsoft.Json Imports Newtonsoft.Json.Linq Imports System.Net Public Class DigiposAJA Private Sub CekPaket() Dim json As String = (New WebClient).DownloadString("http://192.168.101.1:100/list_product?us
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports System.Net
Public Class DigiposAJA
Private Sub CekPaket()
Dim json As String = (New WebClient).DownloadString("http://192.168.101.1:100/list_product?username=SIP12&category=ROAMING&to=0811&payment_method=LINKAJA&json=1")
Dim jarr As JArray = Linq.JArray.Parse(json)
Dim sKatagori As String
For Each jtk As JToken In jarr
sKatagori = jtk.SelectToken("kategori")
DgvDigipos.Rows.Add()
DgvDigipos.Rows(DgvDigipos.Rows.Count - 1).Cells("DgvKategori").Value = sKatagori
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
CekPaket()
End Sub
End Class
调试之后,结果是这样的错误
Newtonsoft.Json.JsonReaderException: 'Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1.'
你能帮我得到一个很好的结果吗?很可能这是因为你调用web服务时没有返回你期望的结果 这实际上是分离关注点和强类型对象的好处的一个很好的例子。你的子蛋糕应该分为三个部分。1) 去拿绳子。这应该是一个函数,应该使用某种配置来获取端点,并为失败提供适当的防护;2)将字符串解析为强类型对象(IEnumerable之类的),这应该进行验证以确保输入良好。您可能希望公开此函数以便于测试。最后3)将结果绑定到UI。看起来您是在手工完成此部分,只要可能,您应该通过提供数据源和显示模板来允许框架为您完成此部分