vb.net - 如何从 HTTP GET 组织字符串
问题描述
我在 VB.Net 上使用 Query Using HTTP GET 来获得以下代码的响应:
Dim webClient As New System.Net.WebClient
Dim result As String = webClient.DownloadString("http://api.site.com/api=xxxxxxxxxxxx&id=1")`
要查看我使用的字符串:
MsgBox(result)
我得到的回应是这样的:
{"result":"success","message":"找到成员","member_data":{"member_id":"1","user_name":"John","first_name":"John","last_name" :"Smith","password":"xxx","member_since":"2018-12-08","membership_level":"2","more_membership_levels":null,"account_state":"active","last_accessed" :"2018-12-08 09:00:53","last_accessed_from_ip":"1.1.1.1","email":"john.smigh@test.com","phone":null,"address_street":null, "address_city":null,"address_state":null,"address_zipcode":null,"home_page":null,"country":null,"gender":"未指定","referrer":null,"extra_info":null,"reg_code":null,"subscription_starts":"2018-12-08","initial_membership_level":null,"txn_id":"","subscr_id ":"","company_name":null,"notes":null,"flags":"0","profile_image":""}}
我一直想弄清楚的是如何将姓名、姓氏、电子邮件、会员级别和帐户状态放入单独的 label.text 中,任何帮助将不胜感激!
解决方案
您需要反序列化 JSON。您可以使用 JavaScript(De)Serializer 或外部的东西,例如 newtonsoft.json (json.net)。这几乎是相同的概念。
Dim test As JObject = JObject.Parse(New WebClient().DownloadString("http://api.site.com/api=xxxxxxxxxxxx&id=1"))
Dim test1 As JToken = test("member_data")
Debug.Print(String.Format("{0}, {1}, {2}, {3}, {4}", test1("first_name"), test1("last_name"), test1("email"), test1("membership_level"), test1("account_state")))
'output >>> John, Smith, john.smigh@test.com, 2, active
我使用了 newtonsoft,因为我现在的项目中已经有了它。
它就像字典,只需调用键(名称)即可获得您的价值。
推荐阅读
- css - SASS/SCSS - 身体上的颜色开关不起作用
- wordpress - WooCommerce 在他们的免费插件中禁用了自定义字段?
- firebase - 我正在尝试将 firebase 集成到我在 expo-cli 中的 react 本机应用程序中
- swift5 - 在 Xcode 12 项目中找不到 *.json 文件
- r - 如何使用 ggplot 绘制多个图形
- c++ - 将整数类型缩放到不同的位大小
- javascript - 浏览器调整大小重新加载到不同页面时的JavaScript
- lotus-notes - 从 Notes 表单控制工具栏的任何方式
- java - 在某些设备上获取 android.view.InflateException
- c++ - 在字符串中查找字母返回不同的数字