6

Alamofire と SwiftyJSON を使用して、API からデータを取得および管理しています。最初のリクエストを行った後、JSON 型のネストされたコレクションになります。

SwiftyJSON によると、次のようにデータをループできます https://github.com/SwiftyJSON/SwiftyJSON#loop

for (key: String, subJson: JSON) in json {
   //Do something you want
}

繰り返しますが、SwiftyJSON によると、次のように新しい値を設定できるはずです: https://github.com/SwiftyJSON/SwiftyJSON#setter

json["name"] = JSON("new-name")

ネストされたデータのコレクションがあり、好きなだけ深く掘り下げることができますが、オブジェクトを変更して新しいキーと値のペアを設定することはできません。Swiftでこれを行うにはどうすればよいですか?

これが私のコードです:

            for (key: String, stop: JSON) in stops {
                var physicalStops = stop["physicalStops"]
                for (key: String, physicalStop: JSON) in physicalStops {
                    println("Prints out \(physicalStop) just fine")
                   // physicalStop["myNewkey"] = "Somevalue" // DOES NOT WORK (@lvalue is not identical to 'JSON)
                   // physicalStop["myNewkey"] = JSON("Somevalue") //SAME Story
                }
            }

基本的に、元の JSON オブジェクトとまったく同じ構造を維持したいのですが、各サブ オブジェクトの 2 番目のレベルのネストに key:value を追加します。

4

2 に答える 2