0

我是 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"];

当我单步调试调试器时,结果为零。我不知道为什么,因为我可以打印出来。

最后我的主要问题是,我如何访问响应的 Variant 部分,但如果你知道为什么id result会为零,那也很酷。谢谢!

4

1 回答 1

3

您的顶级项目是具有单个键“响应”的对象。看起来你想要:

id result = [[dict objectForKey:@"Response"] objectForKey:@"Result"];
于 2013-01-23T23:10:55.633 回答