将python代码转换为vb.net

将python代码转换为vb.net,python,json,vb.net,rest,uipath,Python,Json,Vb.net,Rest,Uipath,我有一个python代码。我需要它的vb.net等价物 提前谢谢 payload2 = {"auth_token": "YOUR_AUTH_TOKEN", "status":"green", "data-title1":"index", "data-title2":"machine1", "data-title3":"package10", "data-title4":"current", "data-title5":"tmp"} r=requests.post("http://localhos

我有一个python代码。我需要它的vb.net等价物

提前谢谢

payload2 = {"auth_token": "YOUR_AUTH_TOKEN", "status":"green", "data-title1":"index", "data-title2":"machine1", "data-title3":"package10", "data-title4":"current", "data-title5":"tmp"}
r=requests.post("http://localhost:3030/widgets/hot21",data=json.dumps(payload2))
额外信息 代码在“UiPath社区版”中调用

最后一个代码(感谢JussiV)是

Imports System.Text
Dim payload2 As New Dictionary(Of String, String)
payload2.Add("auth_token", "YOUR_AUTH_TOKEN")
payload2.Add("status", "green")
payload2.Add("data-title1", "index")
payload2.Add("data-title2", "machine1")
payload2.Add("data-title3", "package10")
payload2.Add("data-title4", "current")
payload2.Add("data-title5", "tmp")
Dim params As String = JsonConvert.SerializeObject(payload2, Formatting.None)
Dim Uri As New Uri(String.Format("http://10.10.115.99:3030/widgets/hot21"))
Dim webClient As New WebClient()
Dim resByte As Byte()
Dim resString As String
Dim reqString() As Byte
webClient.Headers("content-type") = "application/json"
Dim senddata As Object = JsonConvert.SerializeObject(New With {Key .param = params}).ToString()
reqString = Encoding.Default.GetBytes(senddata)
resByte = webClient.UploadData(Uri, "post", reqString)
resString = Encoding.Default.GetString(resByte)
最后的错误消息是

webservice has thrown an exception
Source: Invoke code
Message: Error compiling code
error BC30035: syntax error. At line 1
error BC30561: 'Formatting' is ambiguous, imported from the namespaces or types 'Newtonsoft.Json, System.Xml'. At line 10
error BC30002: Type 'WebClient' is not defined. At line 12
error BC30451: 'Encoding' is not declared. It may be inaccessible due to its protection level. At line 18
error BC30451: 'Encoding' is not declared. It may be inaccessible due to its protection level. At line 20
Exception Type: ArgumentException

在VB.net中创建词典:

编辑:

您至少缺少具有
WebClient
类的
System.Net
的导入。我不确定您在哪里/如何导入
Newtonsoft.Json
,因为我在您的导入中没有看到它,但基于导入到某处的错误


有关不明确的导入,请参阅解决不明确导入的步骤。

您是否尝试过这样做?向我们展示您的尝试。Dim有效负载为String=“{”“auth_token”“:”“YOUR_auth_token”“”“status”“:”“green”“data-title1”“:”“indeks”“data-title2”“:”“env”“data-title3”“:”“pakno”“data-title4”“:”“cur”“data-title5”“:”“tmp”“}”Dim r为String=“requests.post”“。”异常
消息:编译代码时出错
错误BC30561:“Newtonsoft.Json,System.Xml”“数据集”不明确,是从名称空间或类型“格式化”导入的。在第5行“
错误BC30002:未定义类型“WebClient”。第7行
错误BC30451:未声明“参数”。由于其保护级别,可能无法访问。第12行
错误BC30451:未声明“编码”。由于其保护级别,可能无法访问。第13行
错误BC30451:未声明“编码”。由于其保护级别,可能无法访问。在第15行
My bad,在
Dim senddata…
行的
params
参数名上有一个错误,我用
parameters
代替了
params
,在回答中修复了它谢谢你,朱西夫,但是其他错误还在继续,这些是什么错误?是否添加了所需的导入?您是否修复了我在
payload2
声明中仍然存在的打字错误?你需要付出一些努力,伙计,没人会帮你的。我从你的代码中提取了一行代码,问题就解决了。非常感谢。
Dim payload2 As New Dictionary(Of String, String>
payload2.add("auth_token", "<token>")
....
Dim params As String = JsonConvert.SerializeObject(payload2, Formatting.None)
Dim Uri As New Uri(String.Format("http://localhost:3030/widgets/hot"+indeks))
Dim webClient As New WebClient()
Dim resByte As Byte()
Dim resString As String
Dim reqString() As Byte
webClient.Headers("content-type") = "application/json"
Dim senddata As Object = JsonConvert.SerializeObject(New With {Key .param = params}).ToString()
reqString = Encoding.Default.GetBytes(senddata)
resByte = webClient.UploadData(Uri, "post", reqString)
resString = Encoding.Default.GetString(resByte)