Ios 如何从JSON字典数组中获取NSString?

Ios 如何从JSON字典数组中获取NSString?,ios,objective-c,json,Ios,Objective C,Json,这是我的JSON: -elements: [ { HomeworkElementSession: { id: "608743", name: "Interval for x", description: "", } } ] ... 我能够得到一个表示“elements”节点的实际NSArray,因此在数组中只包含一个对象。 但是我不知道如何到达这个字符串“name” 我所做的是: NSMutableArr

这是我的JSON:

-elements: [
    {
    HomeworkElementSession: {
        id: "608743",
        name: "Interval for x",
        description: "",
         }
    }
]
...
我能够得到一个表示“elements”节点的实际NSArray,因此在数组中只包含一个对象。 但是我不知道如何到达这个字符串“name”

我所做的是:

NSMutableArray *elements = [singleHomework objectForKey:@"elements"];
            for(int i=0; i<elements.count; i++){
                NSDictionary* homeworkSession = [elements objectAtIndex:i];
                NSString* name = [homeworkSession objectForKey:@"name"];
                NSLog(@"%@",name);
            }
NSMutableArray*elements=[SingleObjectForkey:@“elements”];
对于(int i=0;i
NSMutableArray*元素=[SingleObjectForkey:@“元素”);
对于(int i=0;i
NSMutableArray*元素=[SingleObjectForkey:@“元素”);

对于(int i=0;i,您需要先获取关键家庭作业元素会话的字典

NSMutableArray *elements = [singleHomework objectForKey:@"elements"];
            for(int i=0; i<elements.count; i++){
                NSDictionary* mainhomeworkSession = [elements objectAtIndex:i];
                NSDictionary* homeworkSession = [mainhomeworkSession objectForKey:@"HomeworkElementSession"];
                NSString* name = [homeworkSession objectForKey:@"name"];
                NSLog(@"%@",name);
            }
NSMutableArray*elements=[SingleObjectForkey:@“elements”];

对于(int i=0;i,您需要先获取关键家庭作业元素会话的字典

NSMutableArray *elements = [singleHomework objectForKey:@"elements"];
            for(int i=0; i<elements.count; i++){
                NSDictionary* mainhomeworkSession = [elements objectAtIndex:i];
                NSDictionary* homeworkSession = [mainhomeworkSession objectForKey:@"HomeworkElementSession"];
                NSString* name = [homeworkSession objectForKey:@"name"];
                NSLog(@"%@",name);
            }
NSMutableArray*elements=[SingleObjectForkey:@“elements”];

对于(int i=0;i试试看,这可能是完全有帮助的, 注意:您将获得NSString格式的输出,因此请使用

 NSString *singleHomework = @"your data";
NSMutableDictionary *dataDic = [NSJSONSerialization JSONObjectWithData:[singleHomework dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:Nil];
NSMutableArray *dataArray = [dataDic valueForKey:@"elements"];
NSLog(@"Name Print %@",[dataArray[0] valueForKey:@"name"]);

试试这个可能会帮上大忙, 注意:您将获得NSString格式的输出,因此请使用

 NSString *singleHomework = @"your data";
NSMutableDictionary *dataDic = [NSJSONSerialization JSONObjectWithData:[singleHomework dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:Nil];
NSMutableArray *dataArray = [dataDic valueForKey:@"elements"];
NSLog(@"Name Print %@",[dataArray[0] valueForKey:@"name"]);

首先,我不确定为什么在字典键“-elements”中有连字符。这可能是个问题。但是,您的主要问题是JSON是一个数组,其中包含一个字典,然后包含一个具有属性的字典(HomeworkElementSession)

NSString * json = @"{\"elements\": [{\"HomeworkElementSession\": {\"id\": \"608743\", \"name\":\"Interval for x\", \"description\": \"\"}}]}";
NSData * jsonData = [json dataUsingEncoding:NSUTF8StringEncoding];

NSError *e;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&e];
NSLog(@"dict=%@", dict);

首先,我不确定为什么在字典键“-elements”中有连字符。这可能是个问题。但是,您的主要问题是JSON是一个数组,其中包含一个字典,然后包含一个具有属性的字典(HomeworkElementSession)

NSString * json = @"{\"elements\": [{\"HomeworkElementSession\": {\"id\": \"608743\", \"name\":\"Interval for x\", \"description\": \"\"}}]}";
NSData * jsonData = [json dataUsingEncoding:NSUTF8StringEncoding];

NSError *e;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&e];
NSLog(@"dict=%@", dict);

这正是我需要的。另一双不太累的眼睛:)谢谢,伙计!这正是我需要的。另一双不太累的眼睛:)谢谢,伙计!