当前位置: 首页 > 面试题库 >

Alamofire:将JSON作为请求参数发送

越伟泽
2023-03-14
问题内容

我有一个非常长的数组和字符串,我想通过Alamofire发送,尽管我不知道如何将原始JSON作为参数发送。JSON看起来有点像

{
     "skus":["8865594-CS,4387296-CS,1175540-CS...."],
     "listType": "H"
}

除了让它表现得像Swift数组然后进行序列化外,还有什么方法可以将这个JSON作为Alamofire中的参数传递?

谢谢!

编辑:

我能够在文本编辑器中发挥一些魔力来获取以Swift数组样式设置的参数(如所示var skus = ["abc", ...]),因此根据Eric的建议,将skus和制作listType成Dictionary。除了收到状态码:414,这意味着该URL太长之外,它的工作效果非常好。


问题答案:

我不了解Alamofire,但我只是在Google上搜索并在GitHub的自述文件中找到了一些东西。

let parameters = [
    "foo": "bar",
    "baz": ["a", 1],
    "qux": [
        "x": 1,
        "y": 2,
        "z": 3
    ]
]

Alamofire.request(.POST, "http://httpbin.org/post", parameters: parameters)
// HTTP body: foo=bar&baz[]=a&baz[]=1&qux[x]=1&qux[y]=2&qux[z]=3

https://github.com/Alamofire/Alamofire

在这里您有一个Dictionary(Dictionary就像一个JSON),还有一个参数,其中另一个Dictionary(JSON)作为参数的值…

那是你需要的吗?



 类似资料:
  • 我尝试使用(version4.0)调用api来提交一些数据。我想请求已经成功了。但我遇到的麻烦是,当进行调用时,我从服务器得到一个0字节失败的响应。 我已经尝试了StackOverflow上当前的许多解决方案,但找不到解决方案。谢谢你的帮助。 以下是我的设置:

  • 我在Excel中的VBA宏中使用了以下代码: 在即时窗口中,我收到了以下错误: 400 Apache Tomcat/8.0.28-错误报告1{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}H2{font-family:Tahoma,Arial,sans-serif;颜

  • 问题内容: 我想在url中发送json数据,如下所示。 我怎样才能做到这一点? 问题答案: URL编码您的详细信息参数:

  • 问题内容: 是否可以在GET调用中将map作为参数发送?我搜索了,我可以找到列表并设置集合。但是没有找到任何要收集地图的东西。 我尝试了以下方法,我的控制器方法如下所示。 我从邮递员发送了以下请求 一切正常,没有错误和异常。但是我收到的地图看起来像 我希望收到的地图像 问题答案: 这在Spring MVC指南中有记录: 当将注释声明为或参数时,将使用所有请求参数填充地图。 这意味着您当前得到的响应

  • 请问大佬们,如何通过axios,去实现post请求,并且请求参数为JOSN格式传入body内?我这样的写法有什么错误吗?请求就提示跨域报错

  • 问题内容: 我想在单个请求中发送多个不同的JSON对象,我觉得在单个请求中像文件一样流式传输多个JSON对象会更好,所以请告诉我是否可行,如果可以的话请给我一个思路要使用Alamofire做到这一点,下面是我要发布的原始正文(应用程序/ json)数据的格式 我尝试了下面的代码,但是由于body参数的格式不正确,因此无法正常工作,这就是我想尝试在单个请求中将多个JSON对象作为流发送的原因,请注意