将 Swift 3 数组转换为 JSON

Posted

技术标签:

【中文标题】将 Swift 3 数组转换为 JSON【英文标题】:Convert Swift 3 Array to JSON 【发布时间】:2017-01-04 03:22:01 【问题描述】:

我有字典数组 [[String:Any]] 我想将其转换为 JSON 字符串。但我不知道如何开始。我尝试了 JSONSerialization.data(withJSONObject: array, options: .prettyPrinted) 并将数组传递给方法,但它显示错误。任何解决方案请在下方评论。谢谢。

【问题讨论】:

你能附上你的代码吗? 如果这是一个 Swift 问题,请添加相关标签。此外,您应该提供您的尝试显示的具体错误。 Convert array to JSON string in swift的可能重复 【参考方案1】:

试试下面的代码...

do 

    //Convert to Data
    let jsonData = try JSONSerialization.data(withJSONObject: dictionaryArray, options: JSONSerialization.WritingOptions.prettyPrinted)

    //Do this for print data only otherwise skip
    if let JSONString = String(data: jsonData, encoding: String.Encoding.utf8) 
       print(JSONString)
    

    //In production, you usually want to try and cast as the root data structure. Here we are casting as a dictionary. If the root object is an array cast as [AnyObject].
    var json = try JSONSerialization.jsonObject(with: jsonData, options: JSONSerialization.ReadingOptions.mutableContainers) as? [String: AnyObject]


     catch 
        print(error.description)
    

【讨论】:

以上是关于将 Swift 3 数组转换为 JSON的主要内容,如果未能解决你的问题,请参考以下文章

Swift 4 如何将自定义对象数组转换为 JSON

将 swift 数组转换为对象以进行 json 序列化

如何在 swift 3 中将具有自定义类的数组转换为 JSON

Swifty JSON:将 JSON 数组中的对象分层列表转换为分层 Swift 对象

Swift 将 JSON 转换为字典数组问题 错误代码 3840(末尾有垃圾)

在 Swift/Xcode 中将 JSON 文件转换为数组