2016-07-23 87 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