iPhone / iOSでJSONオブジェクトを解析する方法は?
JSONはJavascriptオブジェクト表記の略です。 APIやその他のサービスを扱う場合、ほとんどの場合、データはJSON形式で返されるため、使用可能でサポートされている言語形式に変換する必要があります。
iOSのFoundationフレームワークは、JSONをDictionary、strings、Boolなどのサポートされている形式に変換するためのクラスJSONSerializationを提供します。
JSONSerializationクラスは、jsonを解析して結果としてAnyを返すメソッドjsonObject(with:options :)と、データを解析できない場合のエラーを提供します。
// Example JSON:
/*
{
"age": 42.0,
"name": {
"firstName": “tut”
}
}
*/ 別の例を使用してこれを見てみましょう。API呼び出しからデータを取得したとしましょう。このデータを解析するために、JSONSerializationを使用します。 jsonObject(with:options :)
if let data = data, let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] { } //これで、上記のjsonオブジェクトには、受信したデータがStringとAnyのディクショナリとして含まれるか、elseにブロックされた場合に終了します
//jsonにキー「Student」が含まれていると仮定します。それに関連付けられている値は辞書です
guard let student = json[“Student”] as? [String: Any] else { return } これが、jsonを解析してそこから値を取得する方法です。モデルと初期化子を使用して、これをさらに強化できます。ローカルのjsonファイルを作成し、それを解析してみて、この例を見てみましょう。
次のデータを使用してjsonファイルを作成し、exercises.jsonとして保存しましょう
{
"Warmup": {
"Exercises": [
{
"Name": "Neck Strech",
"images": [
"http:sdf.com",
"sdf",
"sdf",
"sdf"
],
"time": 30
}
]
}
} ここで、このローカルjsonを解析し、次のコードを使用して結果を出力します-
if let filePath = Bundle.main.path(forResource: "exerciseData", ofType: "json") {
do {
let data = try Data(contentsOf: URL(fileURLWithPath: filePath), options: .mappedIfSafe)
let jsonResult = try JSONSerialization.jsonObject(with: data, options: .mutableLeaves)
if let exercises = jsonResult as? [String:AnyObject] {
if let warmups = exercises["Warmup"] as? [String:AnyObject] {
print(warmups)
}
}
} catch {
print(error.localizedDescription)
}
} このコードを実行すると、以下の出力が得られます。
-
iOS をダウングレードする方法
iOS の更新は非常にエキサイティングです。 iPhone の機能を向上させる素晴らしい機能が含まれているだけでなく、ほとんどのインクリメンタル アップデートには、既知のバグや問題を解決する多くの修正も含まれています。 ただし、ベータ版の iOS には当てはまりません。多くの場合、主要な機能が壊れたり、アプリが正常に動作しなくなったり、バッテリー関連の問題が発生したりします。まれに、安定した iOS リリースでも同様のことが発生する場合があります。 他のすべてのトラブルシューティング オプションを使い果たした場合 (iPhone のリセットはもう試しましたか?)、iOS のダウングレード
-
iOS 12 のインストール方法
Apple は、待望の iOS 12 のリリース日、つまり 9 月 17 日を発表しました。 .しかし、それまで待ちたくない場合は、iOS 12 のゴールデン マスター バージョンを今すぐインストールできます。そのためには、Apple ベータ ソフトウェア プログラムに参加して、デバイスを登録する必要があります。 この iOS 12 の最終バージョンは、今から 1 週間以内に一般公開され、スクリーンタイム、ミー文字、Siri ショートカット、改善された通知などへのアクセスが許可されます。 注:iOS 12 は、古いものでも新しいものでも、iPhone の応答性とパフォーマンスを向上させるは