json - 在 VB.NET 中序列化 JSON
问题描述
我想通过套接字发送 JSON 消息。
如何序列化我的消息?VB.NET 中有 JSON.stringify 的等价物吗?
这是我通过套接字与服务器建立连接的功能。
Public Sub SendCommand(Command As String)
Dim SocketClient As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim EP As New IPEndPoint(IPAddress.Parse("127.0.0.1"), 5000)
Try
SocketClient.Connect(EP)
Dim Mess As Byte() = System.Text.Encoding.UTF8.GetBytes(Command)
SocketClient.Send(Mess)
SocketClient.Close()
Catch ex As Exception
' Error
End Try
End Sub
我的 JSON 消息的键包含连字符。
SendCommand("{""my-key1"":""myvalue1"",""my-key2"":""myvalue2"",""my-key3"":""myvalue3""}")
我没有机会集成新的库,例如 Json.NET。
感谢帮助,我是初学者。
解决方案
使用 JSON 消息的键作为变量创建一个类。如果您有嵌套的 JSON,则创建另一个 JSON 作为类中的“对象”类型变量存在的键。
创建上面创建的 Class 的对象并使用NewtonSoft.Json对其进行序列化。
参考链接:https ://www.newtonsoft.com/json/help/html/SerializingJSON.htm
NewtonSoft.Json是 .Net(VB 和 C#)中用于 JSON 活动的开源库。
推荐阅读
- c - fgets inside loop 在遇到 EOF 后不等待输入
- python-3.x - 我无法使用 Python 3.7 将 IP 地址打印到文件中
- java - 整数数组,如果有 2 个连续数字是 7 或有两个 7 由一个数字分隔,则返回 true。仅使用 Java 流
- python - 从可调整大小的无边框 Pyglet 窗口中删除顶部的白色边框
- c# - 卡夫卡消费者丢失消息
- azure - 用于多个 Azure 服务的 Azure 自定义域
- python-3.x - 如何比较嵌套列表并将不匹配项追加到python3中的新列表?
- typescript - 打字稿从给定接口缩小类型
- javascript - iPadOS 14 Apple Pencil 快速点击不起作用。- HTML JavaScript ontouchstart/onpointerdown
- r - 如何找到与 R 中另一个指定列包含相同值的列?