如何在Swift中将给定的字典转换为包含JSON数组的JSON对象?

时间:2019-06-16 19:11:26

标签: json swift rest api

我真的是新手,很快就无法将我拥有的字典转换为我所调用的api接受的JSON。

我已经用相关数据创建了一个字典,并将其转换为JSON。

示例:---

let requestbody = ["content": ["app_version_name": , "device_locale": , "device_model": , "device_id": , "os_run_time": , "device_time_zone": , "__type": "", "device_type": , "os_build_type": , "installation_id": "", "cloud_version": , "os_version": , "app_package_name": ]]

let jsonData = try? JSONSerialization.data(withJSONObject: requestBody)
let convertedString = String(data: jsonData!, encoding: String.Encoding.utf8)

但是在打印convertedString时,我得到了:

{
  "content": {
"installation_id": "",
"device_type": "",
"device_id": "",
"device_model": "",
"device_time_zone": "",
"cloud_version": "",
"os_run_time": "",
"device_locale": "",
"app_version_name": "",
"app_package_name": "",
"os_build_type": "",
"os_version": "",
"__type": ""
  }
}

我期望的结果是

{
  "content": [
{
"installation_id": "",
"device_type": "",
"device_id": "",
"device_model": "",
"device_time_zone": "",
"cloud_version": "",
"os_run_time": "",
"device_locale": "",
"app_version_name": "",
"app_package_name": "",
"os_build_type": "",
"os_version": "",
"__type": ""
    }
 ]
}

基本上,我需要将内容值放在jsonArray中的帮助。

1 个答案:

答案 0 :(得分:3)

只需将整个内容结构包装在另一个数组中即可

let content = ["app_version_name": "", "device_locale": "", "device_model": "", "device_id": "", "os_run_time": "", "device_time_zone": "", "__type": "", "device_type": "", "os_build_type": "", "installation_id": "", "cloud_version": "", "os_version": "", "app_package_name": ""]
let requestbody = ["content": [content]]