我是客观的新手。我想从这个数组结果中取出一些对象来自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";
};
我该怎么做?
答案 0 :(得分: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
等等
答案 1 :(得分:1)
方向内的每个对象都是NSDictionary
,其中的每个对象也是字典。所以你需要这样的东西:
NSDictionary *directions=[jsonResult objectForKey:@"directions"];
NSDictionary *features = [directions objectForKey:@"features"];
......等等,直到你得到所有的价值。