Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Newtonsoft json异常_Json_Vb.net_Parsing_Exception - Fatal编程技术网

Newtonsoft json异常

Newtonsoft json异常,json,vb.net,parsing,exception,Json,Vb.net,Parsing,Exception,我目前正在制作一个解析城市词典API的程序,但我无法让它返回所选定义 这是检索和解析数据之前的当前代码: Dim sourceString As String = New System.Net.WebClient().DownloadString("http://api.urbandictionary.com/v0/define?term=" & strRet) rtxtDefinition.Text = sourceString Di

我目前正在制作一个解析城市词典API的程序,但我无法让它返回所选定义

这是检索和解析数据之前的当前代码:

Dim sourceString As String = New System.Net.WebClient().DownloadString("http://api.urbandictionary.com/v0/define?term=" & strRet)

            rtxtDefinition.Text = sourceString

            Dim jResults As JArray = JArray.Parse(sourceString)
            Dim results As List(Of JToken) = jResults.Children().ToList()

            For Each item As JProperty In results
                item.CreateReader()
                MsgBox(item.Value("definition"))
            Next
请注意,strRet是用户的输入 这是城市词典API结构的一个示例:

当前代码不支持查找第(n)个定义,因为我首先需要让它返回定义

所以很明显,由于这个错误,我做错了什么:Newtonsoft.Json.JsonReaderException,但我不确定

任何帮助都将是惊人的。谢谢

编辑:

您正在处理的json字符串的根不是数组,而是单个对象。因此,您可以将其解析为
JObject
,而不是
JArray
,例如:

Dim jobj As JObject = JObject.Parse(sourceString);
Dim arr As JArray = jobj("list");
For Each(var item in arr.Children(Of JObject)())
    MsgBox(item("definition").ToString());
Next

能否添加异常详细信息(消息、堆栈等)。将要复制的部分复制到剪贴板会很有帮助。它将告诉我们更多关于正在发生的事情。我让它工作了,谢谢!现在我只需要弄清楚如何让它选择第一个或第二个,以此类推,因为它正在浏览20000个定义。。。