【发布时间】:2014-08-05 08:37:30
【问题描述】:
我的问题如下:
我创建了一个 Public sub,目前看起来像这样:
Public Sub eniroContacts()
Dim phone As String = newCustPhone1.text
Dim url As String = "http://bedrift.telefonkatalogen.no/tk/search.php?qry=" + phone + "&from=1&to=27&format=json&username=user&password=pw"
Dim request As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
Dim response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
Dim reader As StreamReader = New StreamReader(response.GetResponseStream())
Dim o As JObject = JObject.Parse(reader.ReadToEnd)
lblMsg.Text = o.ToString
reader.Close()
response.Close()
End Sub
到目前为止一切顺利,我的 lblMsg.Text 显示了我想要从中获取数据的 json 字符串(为清晰起见已格式化):
{
"qry": "92020945",
"result": {
"hitLinesBeforeFilter": 1,
"userID": 299228,
"1": {
"listing": {
"table": "listing",
"id": "3647950",
"duplicates": [{
"table": "listing",
"id": "3647950:0",
"idlinje": "E19CMOD",
"tlfnr": "99887766",
"etternavn": "Omnes",
"fornavn": "Martin",
"veinavn": "Highway",
"husnr": "20",
"postnr": "0601",
"virkkode": "P",
"apparattype": "M",
"telco": "TM",
"kilde": "E",
"bkdata": "M",
"prioritet": "0",
"fodselsdato": "1976-07-03",
"kommunenr": "301",
"poststed": "Oslo",
"kommune": "Oslo",
"fylke": "Oslo",
"landsdel": "Ø"
}]
}
},
"dummy": null
}
}
我现在想要做的是实际获取字符串中的一些值并将它们放入我的一些文本框和标签中,但不知道我该怎么做。例如,我想要值“fornavn”、“tlfnr”和“fylke”。本例中的值为 Martin、99887766 和 Oslo,应分别放在 textbox1、2 和 3 中。
我还想补充一点,有些字段可能在某些搜索中不存在,例如名字(在我的示例中为“fornavn”)。当这不存在时,我尝试写作:
Dim fornavn = o("result")("1")("listing")("duplicates")(0)("fornavn")
它崩溃了。在这些情况下我可以做些什么来防止这种情况发生?
非常感谢任何线索和提示! :)
【问题讨论】: