NSJSONSerialization で YELP1 Json を解析し、NSDictionary でデータにアクセスするのはかなりうまくいっていました。ただし、応答には矛盾があると考えました。
一部のキーは で囲まれています"
。ほとんどの場合、_
応答の一部:
(
{
address1 = "xxx";
address2 = "";
address3 = "";
"avg_rating" = 5;
city = "Chicago";
country = USA;
"country_code" = US;
から得られました
[[NSString alloc] initWithData:self.recievedData encoding:NSUTF8StringEncoding];
これは、括弧内にキーがないというドキュメントと矛盾しています。 http://www.yelp.com/developers/documentation/search_api
どうやら、括弧は、値のタイプではなく、何らかの理由でキー値の「_」を示しています。を含む各キーを角かっこで囲みます_
。値は文字列でも整数でも何でもかまいません。
avg_rating などのフィールドへのアクセス
[dict objectForKey:@"avg_rating"];
で失敗しますNSInvalidArgumentException
ながら動作し[dict objectForKey:@"country"];
ます。
したがって、返される値に関する NSDictionary / NSLog の問題ではなく、dict オブジェクトに送信されたキーに関する問題だとは思いません。それとも、JSON の解析中ですか? しかし、作業コードの一部で私が間違っていることを証明してください... :)
何か案は?ありがとう、エル
編集:質問が十分に明確になった可能性があるため、編集しました。
Edit2: 実際には、ここで NSNumber が返されるということでした。これらの "" について混乱しました。