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

这看起来不像是有效的(JSON)数据......但如果它只是一个 NSDictionaries 的 NSArray,那么这应该可以工作:

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

谢谢大家的时间和回复,从回复中我知道我需要做什么。

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

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

再次感谢。

于 2012-12-15T09:58:02.667 回答
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

您所拥有的是一个 NSArray,其中包含 NSArrays,其中包含 NSDictionaries。(在 NSLog 转储中,数组用括号括起来,()而字典用 括起来{}。)

您需要“剥洋葱”——用于objectAtIndex访问数组条目,objectAtIndex再次访问内部数组的条目,然后objectForKey从字典中获取值。

于 2012-12-14T22:03:01.227 回答