0

JSONを使用してWebサイトからデータを呼び出そうとしています。

これまでのところ、完全なデータを取得することができます。ただし、JSON入力から特定のオプションを取得しようとしています。

私が得ているもの:

{
"servers": {
"CA Servers": {
"Can One": {
"status": "medium"
},

"Can Two": {
"status": "medium"
}
},

"US Servers": {
"US One": {
"status": "down"
},
"US Two": {
"status": "high"
}
}
}
}

Can Oneの「ミディアム」と、US Twoの「High」、またはUS Oneの「Down」だけを引っ張って、ストーリーボードに入れるにはどうすればよいのでしょうか。

4

2 に答える 2

0

AFNetworking と を使用している場合AFJSONRequestOperationsuccessコールバックに次のような JSON オブジェクトが必要です。

...
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    // Use JSON as an NSDictionary
    NSString *status = JSON[@"servers"][@"CA Servers"][@"Can One"][@"status"];
...

statusその後、ストーリーボードで変数を使用できます。また、私の例を使用して辞書にアクセスする場合は、構造が存在することを確認する必要があることも覚えておいてください。それ以外の場合、いずれかのフィールドが存在しない場合、アクセサーが返さnilれ、アプリケーションが中断されます。

于 2012-12-04T07:44:57.987 に答える
0

iOS 5 以降では、次のコードを使用してこれらの値を取得できます。

NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSArray *arrayServers = [dictionary valueForKey:@"servers"];
于 2012-12-04T02:14:07.563 に答える