我有一个名为" thisList"的NSDictionary,我需要获取其键的值" list_collection"。
Xcode表示该值为" NSSingleEntryDictionary"。
值本身包含一个包含另一个字典的数组。
现在,无论我尝试什么(objectforKey / valueforKey)或我初始化的任何类型的对象(NSArray / NsMutableArray / NSDictionary / NSMutableDictionary),我都会得到一个零值。
显然,我错过了一些关于如何处理这个问题的基本知识。
我的问题:我应该如何使用键的值来初始化对象" list_collection"。
这是json的(部分)转储:
Printing description of thisList:
{
archived = 0;
"chapter_part" = "";
"chapter_title" = "";
comment = "";
"cover_id" = "<null>";
"created_at" = "2017-01-06T12:59:04.000+01:00";
"date_created" = "06 January 2017";
deleted = 0;
id = 141384502;
isMyList = 1;
keywords = (
);
"list_collection" = {
lists = (
{
"speech_locale" = EN;
subject = engels;
words = (
{
word = attitude;
},
对我而言,最合乎逻辑的方法是:
NSDictionary * myDic = [thisList objectForKey:@"list_collection"];
注意:我没有明确初始化myDic&#39;这里。
要把事情放在上下文中,这是我的代码:
NSString * hlists = [json objectForKey:@"lists"];
NSData* data = [hlists dataUsingEncoding:NSUTF8StringEncoding];
NSArray *wrtsLists = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonParsingError];
Lists = [[NSMutableArray alloc]init];
for (NSDictionary *thisList in wrtsLists){
WordList* theList = [[WordList alloc]init];
theList.title = [thisList valueForKey:@"title"];
[Lists addObject:theList];
NSDictionary *myDic = thisList[@"list_collection"];
>>>>this is where I put a breakpoint. myDic is nil here
}
感谢您的见解。
答案 0 :(得分:1)
你可以简单地得到&#34; list_collection&#34;来自&#34; thisList&#34;的数组使用此代码
NSDictionary *myDic = thisList[@"list_collection"];
答案 1 :(得分:-1)
试试这个希望它可以帮助你
NSDictionary *myDic = [thelist valueForKey:"list_collection"];