【问题标题】:VB.net Place JSON from URL result in text boxVB.net将来自URL结果的JSON放在文本框中
【发布时间】:2014-02-22 09:53:16
【问题描述】:

我的 JSON 字符串

{

"name": "username",
"place": {
  "name": "placename",
}    

到目前为止我的代码

Dim request As HttpWebRequest
    Dim response As HttpWebResponse = Nothing
    Dim reader As StreamReader

    Try

        request = DirectCast(WebRequest.Create("http://json-request.com/myjson"), HttpWebRequest)

        response = DirectCast(request.GetResponse(), HttpWebResponse)
        reader = New StreamReader(response.GetResponseStream())

        Dim rawresp As String
        rawresp = reader.ReadToEnd()

        Dim jResults As JObject = JObject.Parse(rawresp)
        Dim results As List(Of JToken) = jResults.Children().ToList()

        For Each item As JProperty In results
            item.CreateReader()
            textbox.text = ("placename")) 
        Next

    Catch ex As Exception
        MsgBox(ex.ToString)
    Finally
        If Not response Is Nothing Then response.Close()

    End Try
End Sub

如果对我使用 Visual Studio 2013 和 Windows 窗体有帮助,我如何从 URL 中提取并解析一个文本框中的地名和 VB.net 中另一个文本框中的用户名

任何帮助将不胜感激

谢谢

【问题讨论】:

    标签: json vb.net url textbox


    【解决方案1】:

    我假设rawresp 包含此问题中发布的 json,以下代码 sn-p 演示了一种获取“用户名”和“地名”的方法,然后将它们显示在两个不同的 TextBoxs 中:

    ......
    Dim jResults As JObject = JsonConvert.DeserializeObject<JObject>(rawresp)
    usernameTextbox.text = jResults("name").ToString()
    placenameTextbox.text = jResults("place")("name").ToString()
    ......
    

    【讨论】:

    • 是的,我的错,这是 C# 语法。
    • 没问题,我在下面发布了这样你就可以看到我的更改是什么
    【解决方案2】:

    感谢我不得不将 [] 更改为 () 并稍微更改为

    Dim jResults As JObject = JObject.Parse(rawresp)
    usernameTextbox.text = jResults("name").ToString()
    placenameTextbox.text = jResults("place")("name").ToString()
    

    但它有效:D

    但是当请求是 404 时,我抛出了一个异常,你知道我如何处理错误或任何其他错误,因为我将使用文本框来更改 URL 并显示一个消息框吗?

    再次感谢

    【讨论】:

    • 在哪一行抛出异常,是JObject.Parse(rawresp)?如果是这种情况,您可以查看If Not String.IsNullOrEmpty(rawresp)
    • 它在response = DirectCast(request.GetResponse(), HttpWebResponse)第17行
    • 还有一件事,这不是本网站的工作方式。下次,即使上下文相同,您也应该针对其他问题发布新问题。我们在这里建立知识库,因此不仅您可以解决您的问题,而且其他有相同问题的人也可以使用给定的答案来解决它。谢谢
    • 啊,我对此感到抱歉:)
    • 谢谢我在stackoverflow.com/questions/21948825/…添加了另一个问题
    猜你喜欢
    • 2021-10-26
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多