簡體   English   中英

在 Swift 5 中創建一個 Json

[英]Create a Json in Swift 5

我是 swift 的新手,我想用 AlamoFire 5.4 和 Swift 5 發出帖子請求

這是我需要發送到服務器的對象,我不知道如何在 swift 中創建它的等價物

[
  {
    "KEY": "LT_APP",
    "VALUE":"[{\"P_TIPO\":\"L\",\"P_PERNR\":\"925\",\"P_PASS\":\"GAMEROS01\",\"P_CEL\":\"6143194524\",\"P_TOKEN\":\"asdfgh\"}]"
  }
]

value 里面的內容是一個字符串

在郵遞員看起來像這樣

在此處輸入圖片說明

這就是我所擁有的

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)
        }
    }

我嘗試了幾種方法來創建它,在一個類中,使用 [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] //這里有一些問題,我無法輸入字典數組,請參見代碼片段。

  • 之后,如果您在那里,您還將字典數組放入參數值[{\\"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"]

然后將該字典放入數組

讓 arrVal = [dict]

  • 最后設置參數的鍵和值

參數 = [["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]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM