我正在进行Json解析,因为我需要解析“TStatus”键来显示表格。
在该TStatus键中,值为3types。它们是100001,100002,100003。
我只想要100001值......如何获取这些值并将其存储在数组中。
NSMutableArray *array = [arrayOfoccupiedTables valueForKey:@"TStatus"];
回复是
{
Msg = "";
TStatus = 100003;
"Table_Id" = 446;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 447;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 448;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 449;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 450;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 451;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 452;
},
{
Msg = "";
TStatus = 100003;
"Table_Id" = 453;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 454;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 455;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 456;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 457;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 458;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 459;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 460;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 461;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 462;
},
{
Msg = "";
TStatus = 100003;
"Table_Id" = 463;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 464;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 465;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 466;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 467;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 468;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 469;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 470;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 471;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 472;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 473;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 474;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 477;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 478;
},
{
Msg = "";
TStatus = 100001;
"Table_Id" = 479;
}
)
Plz帮助我解决这些问题......提前致谢
答案 0 :(得分:2)
您必须使用 NSPredicate
过滤数组 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"TStatus == 100001"];
NSArray *filtered = ["Your Array" filteredArrayUsingPredicate:predicate];
在过滤后的数组中,您可以获得 Tstatus = 100001;
的值答案 1 :(得分:1)
你有一个这个所有数据的数组,例如数组名称是arrList
,当你想获得TStatus为100001的整个数据然后用下面的代码过滤时,只使用下面的代码。
NSMutableArray *arrTStatus = [[NSMutableArray alloc]init];
for (int i =0; i<[arrList count]; i++)
{
if ([[[arrList objectAtIndex:i]valueForKey:@"TStatus"] isEqualToString:@"100001"] )
{
[arrTStatus addObject:[arrList objectAtIndex:i]];
}
}
答案 2 :(得分:0)
希望这会有所帮助
[allObject filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"TStatus = 100001"]];
答案 3 :(得分:0)
试试这个
for (NSDictionary *status in statuses) {
NSString *Tstatus = [status objectForKey:@"TStatus"]
if([Tstatus isEqualToString:@"100001"){
//Do your code here
}
}
请参阅此More about json