0

我正在尝试使用 Alamofire 和 swift3 从下面的 json 响应中提取“translations”数组“text”和“verses”数组“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
  }
}
我是 swift 新手,我找不到实现这一目标的方法。如何获取“translations”数组“text”和“verses”数组“verse_key”的值?提前感谢

4

1 回答 1

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 中获取每个值。如果要获取“verses”,请使用 json["verses"]。您也可以使用 JSONdecoder。

于 2018-07-05T05:53:51.500 回答