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 の応答性とパフォーマンスを向上させるは