我正在將字典數組數組轉換爲字符串,但將其轉換回來證明非常具有挑戰性。建議?如何將字符串轉換爲字典數組的數組?
回答
[[String: Any]]
不是「字典數組陣列」。這是一系列字典。下面是使用JSON的例子:
func toJSON(array: [[String: Any]]) throws -> String {
let data = try JSONSerialization.data(withJSONObject: array, options: [])
return String(data: data, encoding: .utf8)!
}
func fromJSON(string: String) throws -> [[String: Any]] {
let data = string.data(using: .utf8)!
guard let jsonObject = try JSONSerialization.jsonObject(with: data, options: []) as? [AnyObject] else {
throw NSError(domain: NSCocoaErrorDomain, code: 1, userInfo: [NSLocalizedDescriptionKey: "Invalid JSON"])
}
return jsonObject.map { $0 as! [String: Any] }
}
測試:
let array: [[String: Any]] = [
[
"firstName": "John",
"lastName": "Smith"
],
[
"make": "Ford",
"model": "Focus",
"year": 2016
]
]
let str = try! toJSON(array: array)
let array2 = try! fromJSON(string: str)
print(array2)
以JSON的關鍵是,你必須解碼一次在一個級別。
是的,但你的代碼只顯示一個字典數組。您可以明顯地調整它以添加另一個「陣列層」 –
您可以添加示例輸入和期望的輸出嗎?很難通過評論跟蹤你想要的內容。另外,您的手動JSON編碼不會生成有效的JSON –
我的字符串格式不正確,但其中的數據是。正如在蘋果開發者文檔中所述,在HKWorkout上定製元數據存儲的主題......只支持NSString,NSNumber或NSDate對象作爲值。期。轉換例程是正確的,但我試圖存儲一個Tuple,幾個布爾和幾個定製結構。謝謝CD! –
- 1. 將字典<字符串,字符串>轉換爲數組
- 2. 轉:將字符串數組轉換爲Json數組字符串
- 3. Python:如何將字符串數組轉換爲數組數組?
- 4. 如何將字符串數組轉換爲字節數組? (java)
- 5. 將字符串數組轉換爲字符串數組
- 6. 如何將字典轉換爲數組
- 7. 如何將字符串數組轉換爲符號數組?
- 8. 如何將字典數組轉換爲數組數組?
- 9. 將PHP數組轉換爲Python字典格式的字符串
- 10. 如何將字符串數組轉換爲整數數組?
- 11. 如何將字符串轉換爲數組中的字符串數組
- 12. 如何將字符串數組轉換爲BigQuery中的數組?
- 13. 如何將JSON數組轉換爲字符串值的數組
- 14. 如何將數組字符串轉換爲PHP中的數組?
- 15. 如何將數組的JavaScript字符串轉換爲數組?
- 16. 如何將字符串塊轉換爲字符串數組
- 17. 如何將JSON字符串轉換爲字符串數組?
- 18. 如何將字符串數組轉換爲字符串?
- 19. 如何將字符串數組轉換爲字符串矩陣?
- 20. 如何將字符串轉換爲字符串數組String()?
- 21. 如何將字符串數組轉換爲字符串
- 22. 如何將非空字符串數組轉換爲字符串?
- 23. 將轉換爲字符串的數組轉換回數組
- 24. 將字符串數組轉換爲字符數組
- 25. 如何將字符和字符串轉換爲字節數組?
- 26. 如何將數組數組的字符串轉換爲數組的Javascript數組?
- 27. 注意:數組到字符串轉換將數組轉換爲字符串
- 28. 將字符串數組(字節值)轉換爲字節數組
- 29. 如何將javascript字符串數組轉換爲json字符串數組?
- 30. 將數組數組轉換爲angularjs中的字符串數組
*沒有使用json *但它看起來非常像JSON – vadian
最簡單的解決方案是使用JSON。將原始數組轉換爲JSON字符串。然後將該JSON字符串轉換回原始數組很簡單。 – rmaddy
爲什麼不使用'JSONSerialization'?它簡單易用。 (這裏有數百萬個例子)。順便說一句:你的代碼不是有效的JSON,因爲字典是用{}代表的,而集合的最後一個元素是**而不是**以逗號結尾。 – vadian