将 3 级嵌套 json 隐藏到 Alamofire 参数
Posted
技术标签:
【中文标题】将 3 级嵌套 json 隐藏到 Alamofire 参数【英文标题】:Covert 3 levels nested json to Alamofire parameters 【发布时间】:2018-01-16 07:20:16 【问题描述】:我有一个非常复杂的 json 需要像这样用 Alamofire 发送我的 API
"usernme": "test",
"roastData":
"temps": [
"timing": 1, "state":1, "temp": 100,
"timing": 2, "state":1, "temp": 101,
]
为了发送它,需要将此json转换为类型为[String:AnyObject]。
应该变成
["usernme": "test",
"roastData": [
"temps": [
["timing": 1, "state":1, "temp": 100],
["timing": 2, "state":1, "temp": 101],
]
"date": "someDateHere"
]
]
如何转换?
【问题讨论】:
【参考方案1】:如果您有 JSON 字符串,您可以通过以下代码将其转换为字典:
// jsonString contains your JSON.
let data = jsonString.data(using: .utf8)
do
let dictionary = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String: Any]
// Use dictionary here
catch
print(error)
【讨论】:
您的某些答案是正确的,但第一级内的对象仍然看起来像 JSON 类型,而不是 [String:Any]。它不会在服务器端读取 JSON 类型是什么意思?它采用 [String: Any] 的形式,可以与 Alamofire 完美配合。 我的意思是你的函数的结果不能完全转换另一个对象内的对象。我的服务器 API 无法正确获取roastData 您应该添加使用 Alamofire 发送请求的代码。以上是关于将 3 级嵌套 json 隐藏到 Alamofire 参数的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 将 4 级嵌套 JSON 文件转换为 1 级嵌套
将 json 格式数据加载到 google bigquery 性能问题
如果我有 3 个嵌套数据,如何将 JSON 数据添加到我的数据表中?