🔖
[Swift5]Xcode上で見づらい辞書型の中身をJSON文字列にして整形して読みやすくする【作業効率UP】
何故DictionaryをJSON文字列にしたいのか
それは簡単でXcodeで辞書をprint object
した際に死ぬほど見づらいからです!
これでは作業効率が落ちるんじゃ!!
なので、Diciotnary→JSON文字列にして、そっから先はJSON整形ツールを使うことにします。
JSON整形ツール部分を実装してもいいと思いますが、それはおまかせします。
コード
import UIKit
import Foundation
let jsonObj = ["Name":"Taro",
"Age": 1,
"dict": ["Name": "Taro",
"Age": ["Name": "Taro",
"Age": 1
]
],
"nulls": nil
] as [String : Any]
do {
let jsonData = try JSONSerialization.data(withJSONObject: jsonObj, options: [])
let jsonStr = String(bytes: jsonData, encoding: .utf8)!
print(jsonStr) // 生成されたJSON文字列 => {"Name":"Taro"}
} catch let error {
print(error)
}
{"Name":"Taro","dict":{"Age":{"Age":1,"Name":"Taro"},"Name":"Taro"},"nulls":null,"Age":1}
これだと見づらいので、ツールを使います。
JSONきれい ~JSON整形ツール~ - instant tools
{
"Name": "Taro",
"dict": {
"Age": {
"Age": 1,
"Name": "Taro"
},
"Name": "Taro"
},
"nulls": null,
"Age": 1
}
ハマったこと
ちなみにJSONSerialization
では文字列か数値しか取り扱えないので、Date()
をvalueにそのまま入れるとエラーになり、クラッシュします。
文字列もしくは数値のvalueかどうかを確認しましょう
Discussion