私は括弧内のJSON応答を持っています。私は内側のフィールドにアクセスするのに苦労しています。 display_nameとSwiftを指定します。どうやってやるの?スウィフトの括弧内に入れ子になっているJSONにアクセスする方法は?
Optional(["result": {
user = {
"display_name" = "Max Test";
email = "[email protected]";
"fb_id" = 10209982554704497;
roles = (
stu
);
schools = "<null>";
};
}])
私はJSONにアクセスするために使用されるコードは:
コンソール出力:
self.restApi.getProfileDetails() {responseObject, error in
//parse down the first layer of array
let response = responseObject as? [String:AnyObject]
print("response object when MyDetailsController opened")
print(response)
let result = response!["result"] as? [AnyObject]
print("result object")
print(result)
//parse down the second layer of JSON object
if let result = response!["result"] as? [AnyObject] {
print("result object when MyDetailsController opened")
// work with the content of "result", for example:
if let user = result[0] as? [String:AnyObject]{
print(user)
let displayName = user["display_name"]
print("displayName")
print(displayName)
}
}
常にnilであると、私は間違った方法での結果に対処しているようです
result object
nil
NSJSONSerialization.JSONObjectWithData(responseObject!オプション:NSJSONReadingOptions.MutableContainers)使用しようとして**応答[ "結果"] –
を!? [AnyObject] ** - これは問題です。オブジェクトは[AnyObject]ではなく、辞書です。 – Michal