在 Swift 中创建一个 Json 5
Create a Json in Swift 5
我是 swift 的新手,我想使用 AlamoFire 5.4 和 Swift 5
发出 post 请求
这是我需要发送到服务器的对象,我不知道如何在 swift
中创建它的等价物
[
{
"KEY": "LT_APP",
"VALUE":"[{\"P_TIPO\":\"L\",\"P_PERNR\":\"925\",\"P_PASS\":\"GAMEROS01\",\"P_CEL\":\"6143194524\",\"P_TOKEN\":\"asdfgh\"}]"
}
]
value里面的内容是一个字符串
在 Postman 中看起来像这样
enter image description here
这就是我的
let jsonObject // Here is my problem xD how to build the object
AF.request(url,
method: .post,parameters: jsonObject , encoding: JSONEncoding.default)
.authenticate(username: user, password: password)
.responseJSON { response in
switch response.result {
case .success(let json):
let rtn = JSON(json)
print(rtn["result"]["RESPONSE"][0])
case .failure(let error):
print(error)
}
}
我尝试了几种创建它的方法,在 class 中,使用 [String: Any] 字典,最后直接声明对象
class Valores: NSObject{
var KEY:String
var VALUE:String
init(key: String, value: String){
self.KEY = key
self.VALUE = value
}
}
var Arreglo = [Valores] = [Valores]()
let objeto : Valores = Valores(key: "LT_APP", value:"[{\"P_TIPO\":\"L\",\"P_PERNR\":\"925\",\"P_PASS\":\"GAMEROS01\",\"P_CEL\":\"6143194524\",\"P_TOKEN\":\"asdfgh\"}]")
Arreglo.append(Objeto)
谢谢
不确定它的正确方法,但可能会奏效..
let arr = [["P_TIPO":"L"],["P_PERNR":"925"],["P_PASS":"GAMEROS01"],["P_CEL":"6143194524"],["P_TOKEN":"asdfgh"]]
var text = "\(arr)"
text = text.replacingOccurrences(of: "[", with: "", options: NSString.CompareOptions.literal, range:nil)
text = text.replacingOccurrences(of: "]", with: "", options: NSString.CompareOptions.literal, range:nil)
text = "[{\(text)}]"
let rest = [["KEY": "LT_APP"], ["VALUE": "\(text)"]]
print(rest)
我觉得你在这里有点困惑。所以,我解释一些要点。
- 首先你需要在
parameter
中传递一个dictionary array
作为你在image.so中的共享,声明一个字典数组
var param = [String:Any] //here is some problem i can't input dictionary array so see in snippet.
- 之后,如果你在那里,你还将字典数组放入参数值
[{\"P_TIPO\":\"L\",\"P_PERNR\":\"925\",\"P_PASS\":\"GAMEROS01\",\"P_CEL\":\"6143194524\",\"P_TOKEN\":\"asdfgh\"}]
所以,先拿字典
let dict = ["P_TIPO":"L", "P_PERNR":"925", "P_PASS":"GAMEROS01",
"P_CEL":"6143194524", "P_TOKEN":"asdfgh"]
然后将该字典放入数组
let arrVal = [dict]
- 最后设置参数的key和value
param = [["LT_APP":arrVal]]
- 在参数中传递param。
查看代码片段
var param = [[String:Any]]()
let dict = ["P_TIPO":"L", "P_PERNR":"925", "P_PASS":"GAMEROS01", "P_CEL":"6143194524", "P_TOKEN":"asdfgh"]
let arrVal = [dict]
param = [["LT_APP":arrVal]]
我是 swift 的新手,我想使用 AlamoFire 5.4 和 Swift 5
发出 post 请求这是我需要发送到服务器的对象,我不知道如何在 swift
中创建它的等价物[
{
"KEY": "LT_APP",
"VALUE":"[{\"P_TIPO\":\"L\",\"P_PERNR\":\"925\",\"P_PASS\":\"GAMEROS01\",\"P_CEL\":\"6143194524\",\"P_TOKEN\":\"asdfgh\"}]"
}
]
value里面的内容是一个字符串
在 Postman 中看起来像这样
enter image description here
这就是我的
let jsonObject // Here is my problem xD how to build the object
AF.request(url,
method: .post,parameters: jsonObject , encoding: JSONEncoding.default)
.authenticate(username: user, password: password)
.responseJSON { response in
switch response.result {
case .success(let json):
let rtn = JSON(json)
print(rtn["result"]["RESPONSE"][0])
case .failure(let error):
print(error)
}
}
我尝试了几种创建它的方法,在 class 中,使用 [String: Any] 字典,最后直接声明对象
class Valores: NSObject{
var KEY:String
var VALUE:String
init(key: String, value: String){
self.KEY = key
self.VALUE = value
}
}
var Arreglo = [Valores] = [Valores]()
let objeto : Valores = Valores(key: "LT_APP", value:"[{\"P_TIPO\":\"L\",\"P_PERNR\":\"925\",\"P_PASS\":\"GAMEROS01\",\"P_CEL\":\"6143194524\",\"P_TOKEN\":\"asdfgh\"}]")
Arreglo.append(Objeto)
谢谢
不确定它的正确方法,但可能会奏效..
let arr = [["P_TIPO":"L"],["P_PERNR":"925"],["P_PASS":"GAMEROS01"],["P_CEL":"6143194524"],["P_TOKEN":"asdfgh"]]
var text = "\(arr)"
text = text.replacingOccurrences(of: "[", with: "", options: NSString.CompareOptions.literal, range:nil)
text = text.replacingOccurrences(of: "]", with: "", options: NSString.CompareOptions.literal, range:nil)
text = "[{\(text)}]"
let rest = [["KEY": "LT_APP"], ["VALUE": "\(text)"]]
print(rest)
我觉得你在这里有点困惑。所以,我解释一些要点。
- 首先你需要在
parameter
中传递一个dictionary array
作为你在image.so中的共享,声明一个字典数组
var param = [String:Any] //here is some problem i can't input dictionary array so see in snippet.
- 之后,如果你在那里,你还将字典数组放入参数值
[{\"P_TIPO\":\"L\",\"P_PERNR\":\"925\",\"P_PASS\":\"GAMEROS01\",\"P_CEL\":\"6143194524\",\"P_TOKEN\":\"asdfgh\"}]
所以,先拿字典
let dict = ["P_TIPO":"L", "P_PERNR":"925", "P_PASS":"GAMEROS01", "P_CEL":"6143194524", "P_TOKEN":"asdfgh"]
然后将该字典放入数组
let arrVal = [dict]
- 最后设置参数的key和value
param = [["LT_APP":arrVal]]
- 在参数中传递param。
查看代码片段
var param = [[String:Any]]()
let dict = ["P_TIPO":"L", "P_PERNR":"925", "P_PASS":"GAMEROS01", "P_CEL":"6143194524", "P_TOKEN":"asdfgh"]
let arrVal = [dict]
param = [["LT_APP":arrVal]]