如何使用swift3从alamofire响应中获取字典数组的值

时间:2018-07-03 12:25:39

标签: javascript arrays json swift3 alamofire

我正在尝试使用Alamofire和swift3从json响应下方提取“翻译”数组“文本”和“诗句”数组“ verse_key”数据。

{
  "verses": [
    {
      "id": 1,
      "verse_number": 1,
      "chapter_id": 1,
      "verse_key": "1:1",
      "text_madani": "بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ",
      "text_indopak": "بِسْمِ اللّٰهِ الرَّحْمٰنِ الرَّحِيْمِ",
      "text_simple": "بسم الله الرحمن الرحيم",
      "juz_number": 1,
      "hizb_number": 1,
      "rub_number": 1,
      "sajdah": null,
      "sajdah_number": null,
      "page_number": 1,
      "audio": {
        "url": "versesAbdulBaset/Mujawwad/mp3/001001.mp3",
        "duration": 6,
      
        ],
        "format": "mp3"
      },
      "translations": [
        {
          "id": 102574,
          "language_name": "english",
          "text": "In the name of Allah, the Beneficent, the Merciful.",
          "resource_name": "Shakir",
          "resource_id": 21
        }
      ],
            }
  ],
  "meta": {
    "current_page": 1,
    "next_page": null,
    "prev_page": null,
    "total_pages": 1,
    "total_count": 7
  }
}
我是新手,我无法找到实现此目标的方法。如何获取“ translations”数组“ text”和“ verses”数组“ verse_key”的值? 谢谢Advance

1 个答案:

答案 0 :(得分:1)

使用swiftyJSON。

 switch response.result{
    case .success(let data) :
    let json = JSON(data)
    let verses = json["verses"].Stringvalue
    print(verses)  //get all verses
    print(verses["verse_key"].Stringvalue)  // get "verse_key" 
    break

您可以通过提供键名称来从json中获取每个值。如果要获取“诗歌”,请使用json [“ verses”]。