【问题标题】:Trouble correctly formatting NSString for JSON无法正确格式化 JSON 的 NSString
【发布时间】:2010-05-14 12:47:22
【问题描述】:

在将我的 NSStrings 处理成有效的 JSON 字符串时遇到了一点问题。

NSString *version       = @"1.1";
NSString *callMethod    = @"auth.login";
NSString *paramsConfig  = [NSString stringWithFormat:@"{\"email\":\"%@\",\"password\":\"%@\"}", usernameString, passwordString];

int queryId     = arc4random()% 10000000;

NSDictionary *userData          = [NSDictionary dictionaryWithObjectsAndKeys:version, @"version", callMethod, @"method", [NSNumber numberWithInt:queryId], @"id", paramsConfig, @"params", nil];
NSString* jsonString            = [userData JSONRepresentation];

预期的 JSON 字符串:

{"version":"1.1","params":"{"email":"s","password":"s"}","id":12345678,"method":"auth.login"}

实际的 JSON 字符串:

{"version":"1.1","params":"{\"email\":\"s\",\"password\":\"s\"}","id":12345678,"method":"auth.login"}

不太确定我哪里出错了。有什么想法吗?

谢谢

山姆

【问题讨论】:

    标签: iphone json ipad nsstring nsdictionary


    【解决方案1】:

    JSON 的 paramsConfig 部分是一个字符串,因此会被转义。 IIRC,如果您将 paramsConfig 更改为 NSDictionary,然后在此处设置电子邮件和密码的值,则会输出正确的 JSONRepresentation。

    【讨论】:

      猜你喜欢
      • 2021-11-16
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-27
      • 2017-04-10
      • 1970-01-01
      相关资源
      最近更新 更多