gpt4 book ai didi

IOS/xcode 调试崩溃处理 json 提要

转载 作者:行者123 更新时间:2023-11-29 02:23:16 24 4
gpt4 key购买 nike

这里的 IOS 新手在调试时遇到了麻烦。

我正在尝试处理 json 提要,但下面的代码在

   - (void)viewDidLoad {
[super viewDidLoad];
shnote = @"shnote”;
lnote = @"lnote”;


myObject = [[NSMutableArray alloc] init];

self.title=@"Challenges";
NSData *jsonSource = [NSData dataWithContentsOfURL:
[NSURL URLWithString:@"http://www.~~/webservice.php"]];

id jsonObjects = [NSJSONSerialization JSONObjectWithData:
jsonSource options:NSJSONReadingMutableContainers error:nil];

for (NSDictionary *dataDict in jsonObjects) {
//BREAKS HERE
NSString *shnote_data = [dataDict objectForKey:@"shnote”];
//ABOVE LINE HIGHLIGHTED IN GREEN AT BREAKPOINT
NSString *lnote_data = [dataDict objectForKey:@"lnote”];


dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
shnote_data, shnote,lnote_data, lnote,nil];
[myObject addObject:dictionary];
}
/*
*/
}

控制台中突出显示的行是

dataDict = (NSDictionary *const)@"notes"

notes 是表的名称,但除此之外我一无所知。

如有任何建议,我们将不胜感激。

最佳答案

您的数据源格式为:

{
"notes": [
{
"row": {
"shnote": <...>,
"lnote": <...>
}
},
{
"row": {
"shnote": <...>,
"lnote": <...>
}
},
<...>
]
}

因此,获取每一行内容的步骤应该是:

  1. 读取notes属性的值
  2. 遍历每个
  3. 读取属性的值
  4. 阅读 shnotelnote 属性

您缺少第 1、2 和 3 步。在代码中:

NSURL *url = [NSURL URLWithString:@"http://www.~~/webservice.php"];
NSData *jsonSource = [NSData dataWithContentsOfURL:url];

NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:jsonSource options:NSJSONReadingMutableContainers error:nil];
NSDictionary *notes = jsonObject[@"notes"];
for(NSDictionary *note in notes) {
NSDictionary *row = note[@"row"];
NSString *shnote = row[@"shnote"];
NSString *lnote = row[@"lnote"];

NSLog(@"%@, %@", shnote, lnote);
}

关于IOS/xcode 调试崩溃处理 json 提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27861405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com