2017-02-24 61 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\",{}]}