在iOS中使用NSJSONSerialization进行JSON解析

 福田商务汽车--南宁鑫来 发布于 2023-02-12 17:34

JSON在我的代码中解析一个.但是在检索解析数据时我遇到了一些意想不到的问题JSON.那么让我解释一下我的问题.

我必须JSON使用xcode 解析以下数据.当我在浏览器中点击相同的URL时,这就是要解析的数据:

{
"RESPONSE":[
    {"id":"20",
    "username":"john",
    "email":"abc@gmail.com",
    "phone":"1234567890",
    "location":"31.000,71.000"}],
"STATUS":"OK",
"MESSAGE":"Here will be message"
}

我达到此JSON数据的代码如下:

NSData *data = [NSData dataWithContentsOfURL:finalurl];
NSError *error;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];

如果我json使用打印对象NSLog,即NSLog(@"json: %@", [json description]);它看起来像:

json: {
    MESSAGE = "Here will be message";
    RESPONSE =(
                {
            email = "abc@gmail.com";
            id = 20;
            location = "31.000,71.000";
            phone = 1234567890;
            username = john;
        }
    );
    STATUS = OK;
}

所以,在这里我发现了两件事:

    键(或节点)的序列(MESSAGE,RESPONSESTATUS)被改变相比上述网络响应为.

    RESPONSE是得到括在'(' & ')'括号内.

现在,如果我将键MESSAGE和/ STATUSNsLog 它们的值分开,那么它们将被打印为正确的字符串.

喜欢msgStr:Here will be message& Status:OK

但是,如果我将值RESPONSE作为字典分离并再次将该字典的子值分隔为emailusername,那么我就不能将它们作为字符串.

这是我写的代码到目前为止:

NSMutableDictionary *response = [json valueForKey:@"RESPONSE"];
NSString *username = [response valueForKey:@"username"];
NSString *emailId = [response valueForKey:@"email"];

如果我打印usernameemailId,那么他们都没有得到打印为正常的字符串,而是作为输出:

username:(
    john
)

email:(
    abc@gmail.com
)

所以我的问题是为什么它不是正常的字符串?如果我尝试进一步使用这些变量,那么它们会在'(' & ')'括号内显示值.这是因为发生了NSJSONSerialization吗?

1 个回答
  • 首先,在您的JSON响应中dictionary,在" RESPONSE " 键下,您有一个数组而不是a dictionary,该数组包含dictionary对象.所以要提取用户名电子邮件ID,如下所示

    NSMutableDictionary *response = [[[json valueForKey:@"RESPONSE"] objectAtIndex:0]mutableCopy];
     NSString *username = [response valueForKey:@"username"];
     NSString *emailId = [response valueForKey:@"email"];
    

    2023-02-12 17:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有