2017-09-14 133 views
-2

是否有斯威夫特的解决方案,以在字符串这2个键/值对的价值?JSON字符串?

"ignoredentities":{"actualite":[68533]}, 
"lastentities":{"actualite":{"uid":3942,"starttime":1504850580},"video":{"uid":4392,"starttime":1504956600}},"count":25} 

我想有2字符串,如:

let ignoredentities = "{"actualite":[68533]}" 

let lastentities = "{"actualite": 
{"uid":3942, 
    "starttime":1504850580 
},"video": 
{"uid":4392, 
    "starttime":1504956600 
} 
},"count":25}" 
+0

'(NS)JSONSerialization'能将'(NS)Data'转换成'(NS)Array'/'(NS)Dictionary',反之亦然。 '(NS)Data'可以转换为'(NS)String'(UTF8),反之亦然。所以是的,这是可能的,只需在SO上逐一寻找每个转换。 – Larme

+0

凡认为,从JSON和什么类型的未来是它存储?你已经解析它到一个字典? –

+0

@DávidPásztor是它来自一个字典,我试图字符串(描述:分页[ “lastentities”]),但我得到 “可选(<__ NSArrayM 0x7c089d40>(\ n \ n)的\ n)的” 的 –

回答

1

试试下面的代码

let jsonData = try JSONSerialization.data(withJSONObject: reqDict, options: .prettyPrinted) 
       let reqJSONStr = String(data: jsonData, encoding: .utf8) 
1

JSON字典到字符串:

let data = try JSONSerialization.data(withJSONObject: params, options: .prettyPrinted) 
let dataString = String(data: data, encoding: String.Encoding.utf8) 
print("dataString = \(dataString!)")