如何使用 objc 访问此数据集中的元素?
How do I access elements in this dataset using objc?
我正在努力处理这个数据集:
stopsArray: (
(
{
DistanceFromStart = 0;
Ordinal = 1;
Stop = {
Lat = "38.90282440185547";
Lon = "-77.03208160400391";
OrgAbbr = "<null>";
OrgId = DcCi;
StopCode = 1001259;
StopId = "DcCi_1445_7727";
StopName = "NW 14TH ST & NW K ST";
};
},
{
DistanceFromStart = "0.443314063224555";
Ordinal = 2;
Stop = {
Lat = "38.90834426879883";
Lon = "-77.03208923339844";
OrgAbbr = "<null>";
OrgId = DcCi;
StopCode = 1001393;
StopId = "DcCi_1445_7808";
StopName = "NW 14TH ST & NW RHODE ISLAND AV";
};
},
{
DistanceFromStart = "1.050716048463951";
Ordinal = 3;
Stop = {
Lat = "38.91703033447266";
Lon = "-77.03196716308594";
OrgAbbr = "<null>";
OrgId = DcCi;
StopCode = 17348;
StopId = "DcCi_1445_6674";
StopName = "NW 14TH ST & NW U ST";
};
},
我不确定这是数组、字典还是组合。如何区分?
如何提取 "Ordinal" 字段以及 "Stop" 数据集中的元素?
为了获取 stopsArray
数据,我使用了这一行:
stopsArray = [variantArray valueForKey:@"Stops"];
我试图用这个来拉第一个序数字段(即 1):
NSMutableArray *array = stopsArray[0];
NSString *string = [array valueForKey:@"Ordinal"];
NSLog(@"string: %@", string);
但这会导致:
string: (
1,
2,
3,
4,
5,
6,
7
)
欢迎任何阻止我脱发的想法。
我会继续努力的。
首先,它是一个字典类型的对象数组。
其次,数据格式似乎不正确。
它就像一个包含单个字典类型对象的数组,但该单个对象包含所有不同的字典值。
因此你的结果是
string: (
1,
2,
3,
4,
5,
6,
7
)
在我看来问题是第二个左括号
stopsArray: (
(
{
尝试这样做...
NSMutableArray *array = stopsArray[0];
NSMutableArray *actualDataArray = array[0];
然后
NSString *string = [actualDataArray[INDEX_OF_DIC_OBJECT] valueForKey:@"Ordinal"];
NSLog(@"string: %@", string);
让我知道它是否有效。
更新解决方案
什么最终对 David DelMonte 有用。
NSString *string = [[[stopsArray objectAtIndex:0] objectAtIndex:0] objectForKey:@"Ordinal"];
我正在努力处理这个数据集:
stopsArray: (
(
{
DistanceFromStart = 0;
Ordinal = 1;
Stop = {
Lat = "38.90282440185547";
Lon = "-77.03208160400391";
OrgAbbr = "<null>";
OrgId = DcCi;
StopCode = 1001259;
StopId = "DcCi_1445_7727";
StopName = "NW 14TH ST & NW K ST";
};
},
{
DistanceFromStart = "0.443314063224555";
Ordinal = 2;
Stop = {
Lat = "38.90834426879883";
Lon = "-77.03208923339844";
OrgAbbr = "<null>";
OrgId = DcCi;
StopCode = 1001393;
StopId = "DcCi_1445_7808";
StopName = "NW 14TH ST & NW RHODE ISLAND AV";
};
},
{
DistanceFromStart = "1.050716048463951";
Ordinal = 3;
Stop = {
Lat = "38.91703033447266";
Lon = "-77.03196716308594";
OrgAbbr = "<null>";
OrgId = DcCi;
StopCode = 17348;
StopId = "DcCi_1445_6674";
StopName = "NW 14TH ST & NW U ST";
};
},
我不确定这是数组、字典还是组合。如何区分?
如何提取 "Ordinal" 字段以及 "Stop" 数据集中的元素?
为了获取 stopsArray
数据,我使用了这一行:
stopsArray = [variantArray valueForKey:@"Stops"];
我试图用这个来拉第一个序数字段(即 1):
NSMutableArray *array = stopsArray[0];
NSString *string = [array valueForKey:@"Ordinal"];
NSLog(@"string: %@", string);
但这会导致:
string: (
1,
2,
3,
4,
5,
6,
7
)
欢迎任何阻止我脱发的想法。
我会继续努力的。
首先,它是一个字典类型的对象数组。
其次,数据格式似乎不正确。
它就像一个包含单个字典类型对象的数组,但该单个对象包含所有不同的字典值。
因此你的结果是
string: (
1,
2,
3,
4,
5,
6,
7
)
在我看来问题是第二个左括号
stopsArray: (
(
{
尝试这样做...
NSMutableArray *array = stopsArray[0];
NSMutableArray *actualDataArray = array[0];
然后
NSString *string = [actualDataArray[INDEX_OF_DIC_OBJECT] valueForKey:@"Ordinal"];
NSLog(@"string: %@", string);
让我知道它是否有效。
更新解决方案 什么最终对 David DelMonte 有用。
NSString *string = [[[stopsArray objectAtIndex:0] objectAtIndex:0] objectForKey:@"Ordinal"];