【问题标题】:Parsing JSON in Objective C (iOS)在 Objective C (iOS) 中解析 JSON
【发布时间】:2023-03-31 07:45:01
【问题描述】:

我在 Objective C 中解析 JSON 字符串时遇到问题: 我的 JSON:

{"messages":[{"nick":"Tim","message":"Hallo","time":"06.07.2012 13:26:41"}]}

我的目标 C 代码:

NSError *error = nil;
NSData *data = [NSData dataWithContentsOfURL:@"..URL.."];
NSArray *messages = [data objectForKey:@"messages"];
NSDictionary *json = [NSJSONSerialization
                           JSONObjectWithData:messages
                                      options:NSJSONReadingMutableLeaves
                                        error:&error];
NSString *nick = [json objectForKey:@"nick"];
NSString *message = [json objectForKey:@"message"];

但这不起作用,我不知道该怎么办!

【问题讨论】:

  • 认为您在此处混淆了代码。您正在对 NSData 对象调用 objectForKey:
  • 那里实际上看不到问题。当您说“不起作用”时,您是什么意思?有错误吗?结果不正确?你试过什么?如果您需要帮助,请提供更多信息。
  • 我需要 NSString 而不是 NSData 什么的???
  • 在使用NSJSONSerialization 之前,您在NSData 上调用objectForKey:。如果在这种情况下messages 不是nil,我会感到惊讶。此外,一旦代码被翻转,ahwulf 的答案就是正确的。

标签: ios json nsjsonserialization


【解决方案1】:

您的 JSON 是字典数组的字典,即 {[{}]}

NSArray *messages = [json objectForKey:@"messages"];
NSString* nick = [[messages objectAtIndex:0]objectForKey:@"nick"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    相关资源
    最近更新 更多