しばらく壁に頭をぶつけていました。
JSON を iOS アプリに返す Rails バックエンドがあります。オブジェクトをJSONで自動的にレンダリングするために、Railsのデフォルトの戻り値を使用しています。返されるエラーに問題があります。
エラーに対して取得する JSON は{"errors":{"email":["can't be blank"],"password":["can't be blank"]}}
.
リクエストの処理には ASI を使用します。
-(void) requestFinished:(ASIFormDataRequest *)request {
NSDictionary *data = [[request responseString] JSONValue];
上記のコードを実行すると、データは次のようになります。
{
errors =
{
email = (
"can't be blank"
);
password = (
"can't be blank"
);
};
}
これで、解析しようとすると問題が発生します。エラーの各要素とそれに関連付けられた値にアクセスできるようにしたいと思います。
要素をループしようとすると、次のようになります。
for (NSDictionary *error in [data objectForKey:@"errors"])
これによりemail
andが得られますpassword
が、タイプ__NSCFString
は ではなくNSDictionary
です。電子メールまたはパスワードの値を取得する方法を見つけることができませんでした。誰かがこれを解析する方法について考えを持っていますか?
ありがとう!