0

我是目标 c 的新手。我想从这个数组结果中取出几个来自 JSON 的对象,我需要帮助。我如何从这个数组中取出对象?我怎样才能获得功能,然后是属性和路线名称等。

NSArray *directions=[jsonResult objectForKey:@"directions"];

    int i;
    NSArray *dict;
    int count = [directions count];
    for (i = 0; i < count; i++)
    {            
        NSLog (@"directions = %@", [directions objectAtIndex: i]);          
    }

我想从中得到的对象

directions = {
features =     (
            {
        attributes =             {
            ETA = 1341190800000;
            length = 0;
            maneuverType = esriDMTDepart;
            text = "Start at 18304.680000,36152.730000";
            time = 0;
        };
        compressedGeometry = "+1+hrt+139j+0+0";
    },
            {
        attributes =             {
            ETA = 1341190800000;
            length = "1.43124650292492";
            maneuverType = esriDMTStraight;
            text = "Go southeast on PAN ISLAND EXPRESSWAY";
            time = "1.22675858855561";
        };
        compressedGeometry = "+1+hrt+139j+i9-a6+kp-bl";
    }
routeId = 1;
routeName = "18304.680000,36152.730000 - 29663.160389,40202.513760";
summary =     {
    envelope =         {
        spatialReference =             {
            wkid = 3414;
        };
        xmax = "29663.160018156";
        xmin = "18301.4360762186";
        ymax = "40229.9300290999";
        ymin = "35091.9900291003";
    };
    totalDriveTime = "24.8214824061658";
    totalLength = "17.2089251018779";
    totalTime = "24.8";
};

我该怎么做?

4

2 回答 2

2

[directions objectAtIndex: i]返回NSDictionary,如果要从中获取对象,请执行以下操作

NSDictionary *dic = [directions objectAtIndex: i];
[dic valueForKey:@"routeName"] //route name
[dic valueForKey:@"routeId"] //routeId
[dic valueForKey:@"features"] //returns an nsdictionery too
[[dic valueForKey:@"features"] valueForKey:@"text"] //returns an nsdictionery too

等等

于 2012-07-02T12:28:12.077 回答
1

each object inside directions is an NSDictionary, and each object inside them is also a dictionary. So you will need something like this:

NSDictionary *directions=[jsonResult objectForKey:@"directions"];
NSDictionary *features = [directions objectForKey:@"features"];

...and so on, until you get all the values.

于 2012-07-02T12:29:15.010 回答