私はJSONとWebサービスに不慣れなので、我慢してください。Webサーバーから応答が返ってきます。PostManでは、次のようになります。
{
"Response": {
"TranscriptSource": "MD",
"Result": [
{
"Variant": {
"Chromosome": "chr1",
"Position": 13302,
"ReferenceAllele": "C",
"VariantAlleles": "T"
}
}
],
"JobId": 0
}
}
そして、connectionDidFinishLoadingメソッドでこれを行う場合は、次のようにします。
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:self.receivedData options:kNilOptions error:&error];
[dict enumerateKeysAndObjectsUsingBlock:^(id obj, id key, BOOL *stop) {
NSLog(@"key: %@ obj: %@\n", [key description], [obj description]);
}];
同じ出力が得られます。基本的に、私はその「バリアント」フィールドにあるものが欲しいです。だから私は最初にやろうと思った
id result = [dict objectForKey@"Result"];
デバッガーをステップスルーすると、結果はnilになります。印刷できるので理由がわかりませんでした。
最後に、私の主な質問は、応答のVariant部分にアクセスするにはどうすればよいかということですが、なぜid result
nilになるかがわかっている場合は、それもすばらしいでしょう。ありがとう!