Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用newtonsoft json将值(变量)转换为json对象_Json_Vb.net_Json.net - Fatal编程技术网

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

使用newtonsoft json将值(变量)转换为json对象,json,vb.net,json.net,Json,Vb.net,Json.net,我做过类似的事情。但我知道这不是正确的方法。如果有人能给我一些关于如何使用Newtonsoft JSON库将此变量转换为JSON对象的示例代码或文档链接,我将不胜感激 Dim ID As Integer = 0 Dim FirstName As String = "Jon" Dim LastName As String = "Doe" Dim Department As String = "Finance" Dim RequestB

我做过类似的事情。但我知道这不是正确的方法。如果有人能给我一些关于如何使用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#中的内容):


绝对值得学习阅读C#,如果你是一名VB程序员——大量“你需要的东西”都是C#,因为它很受欢迎,至少能够阅读它会给你一些好的提示和帮助

当我键入“VB.net转换为json”时,我会得到很多关于这个主题的现有信息。当你这样做的时候,你发现的所有信息中有什么是你不理解的?您正在询问如何使用JSON.NET,但您的代码没有显示这样做的尝试。在你尝试之前,你不知道你做不到,在你知道你做不到之前,现在发布在这里还为时过早。@jmchilinney我读了很多。大多数文档都是关于c#的解释,而且大多数文档都不是初级的。我想我需要为这些变量创建一个对象(类),并将其转换为json对象。我将再次尝试重新阅读这些文件。无论如何,谢谢。对于VB开发人员来说,很多C#代码实际上都很容易阅读;即使是初学者。例如,你发布的内容的C#等价物看起来几乎完全一样。一些更高级的东西可能会更难,但一旦您学习了某些语法规则,例如每种语言中的Lambda表达式语法,就会变得更容易。也有很多转换器可用。在线代码转换器可以,但不是很好。我推荐,这是一个优秀的,有一个免费版本,并定期更新。非常感谢您的回答,在我的visual studio 2019(版本16.6.4)自动删除下划线字符。所以你对“VB看起来越来越像C#每天”的看法非常正确,再次感谢。现在有了VB,你可以省略行连续体,也可以省略行连续体,而且(作为一个人)更容易遵循连续体规则“在你想让一行继续的地方放一行继续,如果VisualStudio想删除的话,就让它删除。”而不是试着记住。在我看来,文档中的一些选项也很难看。
var RequestBody = JsonConvert.SerializeObject( 
  new { 
    ID = 0, 
    FirstName = "Jon", 
    LastName = "Doe", 
    Department = "Finance" 
  } 
);