1

nsdictionary の値を取得またはアクセスするにはどうすればよいですか。チラーから valuetext を取得したいだけです

data (
        (
                {
            Caption = Chiller;
            MetricClass = 10;
            Value = "109.4000015258789";
            ValueText = "109.4";
        },
                {
            Caption = "Chiller Product";
            MetricClass = 10;
            Value = "37.40000152587891";
            ValueText = "37.4";
        },
                {
            Caption = Freezer;
            MetricClass = 10;
            Value = 104;
            ValueText = "104.0";
        },
                {
            Caption = "Freezer Product";
            MetricClass = 10;
            Value = "42.79999923706055";
            ValueText = "42.8";
        }
    ),
        (
                {
            Caption = Chiller;
            MetricClass = 10;
            Value = "109.4000015258789";
            ValueText = "109.4";
        },
                {
            Caption = "Chiller Product";
            MetricClass = 10;
            Value = "48.20000076293945";
            ValueText = "48.2";
        },
                {
            Caption = Freezer;
            MetricClass = 10;
            Value = 104;
            ValueText = "104.0";
        },
                {
            Caption = "Freezer Product";
            MetricClass = 10;
            Value = "53.59999847412109";
            ValueText = "53.6";
        }
    ),
4

4 に答える 4

0

時間と返事をありがとうございました。返事から、私は何をする必要があるかを理解しました。

 for (NSArray *test in [dictobject valueForKey:@"ValueText"]) {

                [arrayobject addObject:[test objectAtIndex:2]];
            }

再度、感謝します。

于 2012-12-15T09:58:02.667 に答える
0

これは有効な(JSON)データのようには見えません...しかし、それが単にNSDictionariesのNSArrayである場合、これは機能するはずです:

for (NSDictionary *dict in data)
{
    NSLog(@"%@", dict[@"Caption"]);
}
于 2012-12-14T21:33:13.797 に答える
0

@Hot が述べているように、辞書の配列の配列があり、新しいリテラル構文を簡単に使用できます。

例:

test: NSArray * data = @[
                   @[
                       @{
                           @"Caption" : @"Chiller",
                           @"MetricClass" : @10,
                           @"Value"  : @"109.4000015258789",
                           @"ValueText" : @"109.4",
                           },
                       @{
                           @"Caption" : @"Chiller Product",
                           @"MetricClass" : @10,
                           @"Value"  : @"37.40000152587891",
                           @"ValueText" : @"37.4",
                           },
                       @{
                           @"Caption" : @"Freezer",
                           @"MetricClass" : @10,
                           @"Value" : @104,
                           @"ValueText" : @"104.0",
                           },
                       @{
                           @"Caption" : @"Freezer Product",
                           @"MetricClass" : @10,
                           @"Value"  : @"42.79999923706055",
                           @"ValueText" : @"42.8",
                           }
                       ],
                   @[
                       @{
                           @"Caption" : @"Chiller",
                           @"MetricClass" : @10,
                           @"Value"  : @"109.4000015258789",
                           @"ValueText" : @"109.4",
                           },
                       @{
                           @"Caption" : @"Chiller Product",
                           @"MetricClass" : @10,
                           @"Value"  : @"48.20000076293945",
                           @"ValueText" : @"48.2",
                           },
                       @{
                           @"Caption" : @"Freezer",
                           @"MetricClass" : @10,
                           @"Value" : @104,
                           @"ValueText" : @"104.0",
                           },
                       @{
                           @"Caption" : @"Freezer Product",
                           @"MetricClass" : @10,
                           @"Value"  : @"53.59999847412109",
                           @"ValueText" : @"53.6",
                           }
                       ]
                   ];
NSLog(@"Value: %@", data[0][0][@"Value"]);
NSLog(@"Value: %@", [[[data objectAtIndex:0]objectAtIndex:0]objectForKey:@"Value"]);

値: 109.4000015258789
値: 109.4000015258789

于 2012-12-14T22:14:34.793 に答える
0

あなたが持っているのは、NSDictionaries を含む NSArrays を含む NSArray です。(NSLog ダンプでは、配列は で囲まれていますが()、辞書は で囲まれてい{}ます。)

「タマネギの皮をむく」必要があります-objectAtIndex配列エントリにアクセスするために使用し、objectAtIndex再び内部配列のエントリにアクセスしてobjectForKeyから、辞書から値を取得します。

于 2012-12-14T22:03:01.227 に答える