2016-07-23 91 views
0

我想将一个简单的结构转换为JSON字符串。该结构是这样的:在Swift中将结构转换为JSON字符串

struct MyStruct: Equatable { 

let propertyA:Int 
let propertyB:String 
let propertyC:Double 
//There are about ten more fields 

func myStructMethod->String{ 
    return "return value" 
    } 
} 

所以,因为结构不符合AnyObject型(而是Any我猜)这样的简单转换失败:

let data = try NSJSONSerialization.dataWithJSONObject(myStructArray, options: nil) 
let string = NSString(data: data!, encoding: NSUTF8StringEncoding) 

有一些方法来跳过创建JSON字符串“手”(说我自己使用数组映射和建设字符串)?

+1

使用完整的这一个: - http://stackoverflow.com/questions/33186051/swift-convert-struct-to-json –

+0

@mitulmarsonia这就是我想避免的......但当然这是一个解。 – Whirlwind

回答

-2

有没有这样的事情作为“JSON字符串”。 JSON文档是数据。

JSON对象是字符串,数字,布尔值,空值,JSON对象数组,字符串键和JSON对象作为值的字典。

你将任何你已经转换成这样的字典或数组,然后使用NSJSONSerialization。

+0

那么,我还没有正确描述一切。我真正需要的是一个字符串作为最终结果。但我明白你的意思。我试图跳过从结构到字典的转换。 – Whirlwind