如何在ios中比较3个json数组?
下面是来自不同响应的3个JSON数组 我只想在大小为1的病历簿上打印姓名,然后打印姓名和描述 并奖励在iOS上的Objective-C中具有类别id和大小id匹配的用户如何在ios中比较3个json数组?,ios,objective-c,json,nsarray,nsdictionary,Ios,Objective C,Json,Nsarray,Nsdictionary,下面是来自不同响应的3个JSON数组 我只想在大小为1的病历簿上打印姓名,然后打印姓名和描述 并奖励在iOS上的Objective-C中具有类别id和大小id匹配的用户 category [ { "Category_Id": "1", " Name": "Books", } { "Category_Id": "2", " Name": "Dummies", } produ
category
[ {
"Category_Id": "1",
" Name": "Books",
}
{
"Category_Id": "2",
" Name": "Dummies",
}
product
[
{
"Sub_Cat_Id": "3",
"Category_Id": "1",
"Size_id": "3",
"Sub_Name": "java",
"Description": "We are introducing new product.",
},
{
"Sub_Cat_Id": "4",
"Category_Id": "2",
"Size_id": "3",
"Sub_Name": "Android",
"Description": "We are introducing new product.",
},
{
"Sub_Cat_Id": "2",
"Category_Id": "1",
"Size_id": "1",
"Sub_Name": "ios",
"Description": "We are introducing new product.",
},
Prize
[
{
"Size_Id": "1",
"pirze": "600 "
},
{
"Size_Id": "2",
" pirze ": "300 "
},
{
"Size_Id": "2",
" pirze ": "800"
}
我建议通过NSJSONSerialization的dataWithJSONObject:将此JSON转换为基金会的NSArray。
之后,只需使用NSArray/NSDictionary筛选来检索您的值我建议您为您的对象类别、产品和奖品创建一个类,这样您就可以为您的阅读创建一个对象,并将它们添加到NSArray中。在同一数组中获得对象后,可以对该数组应用谓词,以便仅选择所需的对象:
NSArray *objects = ...; // This is the array with your objects
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(prize.size_id == 1)"];
NSArray *array = [objects filteredArrayUsingPredicate:tiltPredicate]; // This is the array with the objects you want (size_id = 1)
我认为谓词不会起作用,因为OPs JSON被错误定义为对size_id使用字符串值。数组中的对象必须是具有所需属性的自定义类。因此可以应用谓词。假设我们使用属性类别、产品和奖品说明创建类which:NSObject,您还需要为这些属性设置类,以便您可以从whicher对象访问prize.size\u id。使用您尝试的Objective-C代码更新您的问题。