How to parse Array of JSON to array in Swift

后端 未结 5 685
南方客
南方客 2020-12-05 12:02

I\'m trying to parse JSON which is like below

[
  {
    "People": [
      "Jack",
      "Jones",
      "Rock",
      &         


        
5条回答
  •  天涯浪人
    2020-12-05 12:34

     var peoplesArray:[Any] = [
        [
            "People": [
            "Jack",
            "Jones",
            "Rock",
            "Taylor",
            "Rob"
            ]
        ],
        [
            "People": [
            "Rose",
            "John"
    
            ]
        ],
        [
            "People": [
            "Ted"
            ]
        ]
      ]
    
     var finalArray:[Any] = []
    
     for peopleDict in peoplesArray {
        if let dict = peopleDict as? [String: Any], let peopleArray = dict["People"] as? [String] {
            finalArray.append(peopleArray)
        }
     }
    
     print(finalArray)
    

    output:

    [["Jack", "Jones", "Rock", "Taylor", "Rob"], ["Rose", "John"], ["Ted"]]
    

    In your case, it will be:

    if let path = Bundle.main.path(forResource: "People", ofType: "json") {
        let peoplesArray = try! JSONSerialization.jsonObject(with: Data(contentsOf: URL(fileURLWithPath: path)), options: JSONSerialization.ReadingOptions()) as? [Any]
    
        var finalArray:[Any] = []
    
        for peopleDict in peoplesArray {
            if let dict = peopleDict as? [String: Any], let peopleArray = dict["People"] as? [String] {
                finalArray.append(peopleArray)
            }
        }
    
        print(finalArray)
    }
    

提交回复
热议问题