IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

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)
   }
}

このコードを実行すると、以下の出力が得られます。

iPhone / iOSでJSONオブジェクトを解析する方法は?


  1. iOS をダウングレードする方法

    iOS の更新は非常にエキサイティングです。 iPhone の機能を向上させる素晴らしい機能が含まれているだけでなく、ほとんどのインクリメンタル アップデートには、既知のバグや問題を解決する多くの修正も含まれています。 ただし、ベータ版の iOS には当てはまりません。多くの場合、主要な機能が壊れたり、アプリが正常に動作しなくなったり、バッテリー関連の問題が発生したりします。まれに、安定した iOS リリースでも同様のことが発生する場合があります。 他のすべてのトラブルシューティング オプションを使い果たした場合 (iPhone のリセットはもう試しましたか?)、iOS のダウングレード

  2. iOS 12 のインストール方法

    Apple は、待望の iOS 12 のリリース日、つまり 9 月 17 日を発表しました。 .しかし、それまで待ちたくない場合は、iOS 12 のゴールデン マスター バージョンを今すぐインストールできます。そのためには、Apple ベータ ソフトウェア プログラムに参加して、デバイスを登録する必要があります。 この iOS 12 の最終バージョンは、今から 1 週間以内に一般公開され、スクリーンタイム、ミー文字、Siri ショートカット、改善された通知などへのアクセスが許可されます。 注:iOS 12 は、古いものでも新しいものでも、iPhone の応答性とパフォーマンスを向上させるは