使用newtonsoft json将值变量转换为json对象

问题描述

我已经做了类似的事情。但是我知道这不是正确的方法。如果有人可以给我一些示例代码或有关使用Newtonsoft JSON库将此变量如何转换为JSON对象的文档链接,我将不胜感激。

Dim ID As Integer = 0
Dim FirstName As String = "Jon"
Dim LastName As String = "Doe"
Dim Department As String = "Finance"


Dim RequestBody As String = "{ ""ID"": """ & ID & """," &
                            """FirstName "": """ & FirstName & """," &
                            """LastName "": """ & LastName & """," &
                            """Department"": """ & Department & """}"


Dim BodyData = Encoding.UTF8.GetBytes(RequestBody)
Dim result_post = SendRequest(API_URL,BodyData,"application/json","POST")

解决方法

最简单的方法可能是创建一个新的匿名类型并将其序列化:

Dim ID As Integer = 0
Dim FirstName As String = "Jon"
Dim LastName As String = "Doe"
Dim Department As String = "Finance"

Dim ser = New With { .ID = ID,.FirstName = FirstName,.LastName = LastName,.Department = Department }

Dim RequestBody = JsonConvert.SerializeObject(ser)

当然可以减少到

Dim RequestBody = JsonConvert.SerializeObject( _
  New With { _
    .ID = 0,_
    .FirstName = "Jon",_
    .LastName = "Doe",_
    .Department = "Finance" _
  } _
)

VB每天看起来越来越像C#! :)

(这是C#中的样子):

var RequestBody = JsonConvert.SerializeObject( 
  new { 
    ID = 0,FirstName = "Jon",LastName = "Doe",Department = "Finance" 
  } 
);

如果您是VB程序员,那么绝对值得学习C#的学习-C#的大量“所需”是C#,因为它很流行并且至少能够阅读它会为您提供一些很好的指导和帮助

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...