2017-02-24 60 views
0

我得到了一個請求到服務器的問題,我得到了一個分析錯誤,你能幫我正確地做出請求嗎?如何使Swift JSON請求params

我需要作出這樣的要求:

"{ \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"call\", \"params\": [ \"c36c5a835cf88e82f97dcfa5b74f53f4\",\"network.interface.wan\",\"status\", {} ] }" 

我的要求:

["jsonrpc": "2.0", "id": 1, "method": "call", "params": [token, "network.interface.wan", "status", []]] 

回答

1

如果要轉換DictionaryJSON字符串響應,那麼你可以嘗試這樣的辦法。

編輯:在JSON字符串params數組的最後一個對象是空的字典,所以你需要參數數組的最後一個對象設置爲[:],而不是[]

let dic:[String:Any] = [ 
          "jsonrpc": "2.0", 
          "id": 1, 
          "method": "call", 
          "params": [ 
              "token", 
              "network.interface.wan", 
              "status", [:] 
          ] 
         ] 
if let data = try? JSONSerialization.data(withJSONObject: dic), 
    let string = String(data: data, encoding: .utf8){ 
    print(string) 
} 

輸出的

{\"method\":\"call\",\"jsonrpc\":\"2.0\",\"id\":1,\"params\":[\"token\",\"network.interface.wan\",\"status\",{}]}