Как заставить работать функцию обратных вызовов JSONP
Дорогие все,
В Visual Basic у меня есть код, с помощью которого я могу получить сведения о компании, введя ее номер VATnumber. Теперь результат, который я получаю, находится в 1 большой строке json. Теперь я слышал, что VATlayer также может работать с обратными вызовами JSONP, однако, похоже, я не могу понять, как поместить код так, чтобы я мог получить каждый результат отдельно. Что я могу получить, например, название компании в строке, которую я могу использовать через порграм.
Может ли кто-нибудь помочь мне с этим?
Код, который у меня есть, таков:;
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim URLString = "http://apilayer.net/api/validate&vat_number=GB864438791" Try 'Create the initial request Dim Request As HttpWebRequest = HttpWebRequest.Create(URLString) Request.Proxy = Nothing 'Speeds up the request by setting the proxy to nothing Request.UserAgent = "Test" 'Create response and reader Dim Response As HttpWebResponse = Request.GetResponse Dim ResponseStream As System.IO.Stream = Response.GetResponseStream 'Create a new streamreader Dim StreamReader As New System.IO.StreamReader(ResponseStream) Dim Data As String = StreamReader.ReadToEnd UrlResponseText.Text = Data StreamReader.Close() Catch ex As Exception MsgBox("Improper Input") GoURL.Text = Nothing End Try End Sub
Результат показан следующим образом;
Result from streamreader; '{"valid":true,"database":"ok","format_valid":true,"query":"GB864438791","country_code":"GB","vat_number":"864438791","company_name":"EXERTIS (UK) LTD","company_address":"TECHNOLOGY HOUSE\nMAGNESIUM WAY\nHAPTON\nBURNLEY\n\nBB12 7BF"}
И я хотел бы видеть, что я могу присвоить все результирующее значение разделенным строкам.
Спасибо,
Ганс
П. С.
Этот слой НДС требует ввода ключа в строку. Так что этот URL-адрес не будет работать. Подобный этому. Но с ключом вы получаете ниже показанный результат,
Что я уже пробовал:
Я поискал в интернете и попробовал использовать
New JavaScriptSerializer().Deserialize(Of List(Of Object))(Data).
Richard MacCutchan
Вам нужно использовать десериализатор JSON, а не JavaScript. Видеть Десериализатор JSON vb.net - поиск в Google[^].
Richard Deeming
NB: JavaScriptSerializer
это старый встроенный сериализатор JSON (de). :)
Класс JavaScriptSerializer (System.Web.Script.Сериализация) | Microsoft Docs[^]
Richard MacCutchan
:большой палец вверх: Больше чтения для меня.