所以我正在使用Newtonsoft.Json发送POST请求。
我必须使用字典来指定我的键和值。
这是POST在接收端的外观:
{"type":"direct","packages":["http://whatever:9999/something.pkg"]}
我的代码:
dictData.Add("type", "direct")
dictData.Add("packages", "[http://whatever:9999/something.pkg]")
jsonPost.postData(dictData)
输出:
{
"type": "direct",
"packages": "[http://whatever:9999/something.pkg]"
}
问题是:我在那里不希望有空格,我希望所有内容都在一行中,并且我希望URL用引号引起来。我尝试使用双“”方法,并得到了引号,但它还在URL的开头和结尾都放置了一个\。
我确信这很简单,但是对于我一生来说,我找不到任何有效的方法。
答案 0 :(得分:0)
我只需创建一个Jobject(第一个{})并向其中添加内容。喜欢:
Dim JSON_Post As New JObject
JSON_Post.Add("type", "direct")
Dim JSON_Array As New JArray
JSON_Array.Add("http://whatever:9999/something.pkg")
'Or JSON_Post.Add("packages", New JArray From {"http://whatever:9999/something.pkg"})
JSON_Post.Add("packages", JSON_Array)
Debug.Print(JSON_Post.ToString)
'Output
{
"type": "direct",
"packages": [
"http://whatever:9999/something.pkg"
]
}
您可以对字典和列表进行同样的操作,字典是键值部分,因此它总是看起来像
"type1": "direct1",
"type2", "direct2"...
因此,您需要一次添加包含更多项的内容,例如获取[]的列表。
那些空格并不重要,可以很好地阅读,这就是显示格式的方式。