-1

次のコードから「トークン」値だけを抽出するにはどうすればよいですか? この値を文字列に保存しようとしています。

メタは配列ですか? もしそうなら、「トークン」値からどのようにデータを抽出しますか?

助けてくれてありがとう

 NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];


Response ==> {"meta":[],"data":{"token":"IVZ2ciRkbVtDLUl3YmhwOTkyXzpRR1M3LUUsRiElfWF6T3I6dCxsRWg6di1XcyR6OTUzZHhVazdLTEJ7blU5O258d2xRTXg0VUxwQXBlNHRSOXd2VXZ1aG1RfFhQQjJsSkkoc2IuOTFyYkYodyhAe2RldXR1aDF3RClXWyhoMiU="}}
2013-07-19 15:10:23.139 appName [11190:907] {
    data =     {
        token = "IVZ2ciRkbVtDLUl3YmhwOTkyXzpRR1M3LUUsRiElfWF6T3I6dCxsRWg6di1XcyR6OTUzZHhVazdLTEJ7blU5O258d2xRTXg0VUxwQXBlNHRSOXd2VXZ1aG1RfFhQQjJsSkkoc2IuOTFyYkYodyhAe2RldXR1aDF3RClXWyhoMiU=";
    };
    meta =     (
    );
}
4

3 に答える 3

2

データはJSON形式だと思います。その場合、これは機能するはずです。

NSError *error = nil;
NSDictionary *responseDict = [NSJSONSerialization JSONObjectWithData:urlData options:0 error:&error];
NSString *token = [[responseDict objectForKey:@"data"] objectForKey:@"token"];
于 2013-07-19T14:22:26.210 に答える
1

あなたの場合、metaは でありArraydataですDictionary。Response が JSON で適切にフォーマットされている場合は、以下のサンプル コードを使用してTokenStringとを取得できますmetaArray

サンプルコード:

NSData *data = [NSData dataWithContentsOfURL:yourURL];
NSError* error = nil;
NSDictionary* responseDict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSString *token = [[responseDict objectForKey:@"data"] objectForKey:@"token"];
NSArray *meta = [responseDict objectForKey:@"meta"];
NSLog(@"\ntoken :: %@\nmeta :: %@",token,meta);

PS: JSON 応答の詳細については、この Answerをご覧ください。

于 2013-07-19T14:22:51.427 に答える
1

私はこれを行うだけです:

NSData *responseData = [NSData dataWithContentsOfURL:yourURL];
NSString *token = [NSJSONSerialization JSONObjectWithData:responseData
  options:kNilOptions error:NULL][@"data"][@"token"];

nilエラーが発生した場合になります。

于 2013-07-19T14:27:26.113 に答える