各位,本人想问一下怎么样根据json数据中的某个字段来进行过滤字段值相同的json数据中的值呢?好比本人下面的这段json数据,这段json数据是本人从一个完整的数据中拿出的一部分,而本人现在是想要根据这个json数据中的line_no这个字段来过滤数据,假如line_no数据中的值相同的话,那就进行随机的保留相同字段值的一个数据,说白了就是通过line_no来进行过滤重复的,而本人这边的json数据是通过NSLog(@”%@”,dicArray)打印出来的,现在就想做到过滤重复值
(
{
"line_direct" = 1;
"line_no" = 0032;
"location_x" = "118.379535";
"location_y" = "31.3413317";
"nearest_bus_no" = B18232;
"nearest_station_no" = 24;
"start_time" = "1899-12-30 06:00:00.0";
"starting_name" = "\U56db\U8910\U5c71\U8857\U9053\U529e-1";
"station_id" = 1961;
"station_name" = "\U5e7f\U7535\U4e2d\U5fc3-1";
"station_no" = 26;
"stop_time" = "1899-12-30 19:30:00.0";
"terminus_name" = "\U70df\U5382-1";
},
{
"line_direct" = 1;
"line_no" = 0021;
"location_x" = "118.378685";
"location_y" = "31.3393383";
"nearest_bus_no" = B13813;
"nearest_station_no" = 2;
"start_time" = "1899-12-30 06:00:00.0";
"starting_name" = "\U65b0\U5e02\U53e3-1";
"station_id" = 2129;
"station_name" = "\U5e7f\U7535\U4e2d\U5fc3-1";
"station_no" = 6;
"stop_time" = "1899-12-30 19:00:00.0";
"terminus_name" = "\U8346\U5c71-1";
},
{
"line_direct" = 1;
"line_no" = 0031;
"location_x" = "118.3788817";
"location_y" = "31.339505";
"nearest_bus_no" = 17387;
"nearest_station_no" = 20;
"start_time" = "1899-12-30 06:00:00.0";
"starting_name" = "\U5229\U6c11\U4e1c\U8def\U9996\U672b\U7ad9-1";
"station_id" = 3147;
"station_name" = "\U5e7f\U7535\U4e2d\U5fc3-1";
"station_no" = 22;
"stop_time" = "1899-12-30 19:00:00.0";
"terminus_name" = "\U706b\U8f66\U7ad9\U6c7d\U8f66\U7ad9-1";
},
{
"line_direct" = 1;
"line_no" = 0032;
"location_x" = "118.3787767";
"location_y" = "31.3395";
"nearest_bus_no" = B12142;
"nearest_station_no" = 14;
"start_time" = "1899-12-30 06:00:00.0";
"starting_name" = "\U7696\U5357\U533b\U5b66\U9662\U5357-1";
"station_id" = 3254;
"station_name" = "\U5e7f\U7535\U4e2d\U5fc3-1";
"station_no" = 19;
"stop_time" = "1899-12-30 19:00:00.0";
"terminus_name" = "\U6e2f\U4e00\U8def\U516c\U4ea4\U9996\U672b\U7ad9-1";
}
)
解决方案
80
给你推荐一个扩展可以实现你要的功能。
LinqToObjectiveC
去重复的使用
LinqToObjectiveC
去重复的使用
NSArray* names = @[@"bill", @"bob", @"bob", @"brian", @"bob"];
NSArray* distinctNames = [names linq_distinct]; // returns bill, bob and brian
////假如是distinct一个dictionary中元素,可以如下这样
NSArray* peopleWithUniqueAges = [input linq_distinct:^id(id person) {
return [person age];
}];