【问题标题】:JSON serialization double quote (") and single (') quote issue in iOSiOS 中的 JSON 序列化双引号 (") 和单引号 (') 问题
【发布时间】:2018-03-28 07:57:36
【问题描述】:

我正面临 JSON 编码问题。

我已将我的数据提交到以下格式的服务器以保存备注。

{
Remarks = "test apple """ ";
}

然后在从服务器获取数据时,我收到了不同的格式,例如 输出:

{
Remarks = "test apple \U00e2\U0080\U009c\U00e2\U0080\U009d\U00e2\U0080\U009d\U00e2\U0080\U009d\\n";
}

在提交数据时,我正在使用 JSON 序列化。

  NSData *jsonData
    = [NSJSONSerialization dataWithJSONObject: dict
                                      options: NSJSONWritingPrettyPrinted
                                        error: nil];

  if (jsonData)
  {
    NSString* jsonString
      = [[NSString alloc]
          initWithData: jsonData
              encoding: NSUTF8StringEncoding];
    NSLog(@"posting params: %@", jsonString);
  }

我的问题是为什么我没有收到我已提交的信息。我只面对双引号 (") 和单引号 (')。

有人知道吗?

【问题讨论】:

  • 你能显示一些服务器代码吗?
  • Android 应用程序运行良好..
  • 只有 iOS 只面向.. 你知道@André Slotta 吗?
  • 在你的例子中只有双引号,对吗?如何将数据发送到服务器。该示例是您代码的一部分吗?
  • @Amin Negm-Awad 是的

标签: ios objective-c json object nsutf8encoding


【解决方案1】:

您可能应该转义您的非定界引号: { 备注 = "测试苹果\"\"\" "; }

【讨论】:

  • 可能,但只要他没有引用他的整个代码,它就是在猜测。
【解决方案2】:

iOS 11 在键盘设置中添加了“智能标点符号”。

这意味着当输入“Singapore”时,它会将其转换为“Singapore”。 '"' 被替换为 '“' 和 '”' 字符串。它们是不同的引号。

因此,一种选择可能是将 '“' 和 '”' 替换为 '\"'。

Smart Punctuation = No

【讨论】:

  • 您好,如何处理我的代码我面临同样的双引号问题:[{"fontFamily"="firstfont","fontURL"="https%3A%2F%2Fs3.amazonaws.com% 2FAttachments%2F1295312%2FUmbrellaMarket.ttf%3FAWSAccessKeyId=AKIAIBQXWGUYOJ6RIHHA&Expires=1853589442&Signature=fY8146gswIkXYyuouOT90HPbOlA%253D"},{"fontFamily"="secondfont","fontURL"="https%3A%2F%2Fs3.amazonaw 2FUmbrellaMarket.ttf%3FAWSAccessKeyId=AKIAIBQXWGUYOJ6RIHHA&Expires=1853589460&Signature=LKw3TMt9r9BPC9zmiw85tTktX1A%253D"}]
  • 当我将此代码发送到服务器时,我收到错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 2017-11-18
  • 1970-01-01
  • 2012-04-24
  • 2019-05-05
  • 1970-01-01
相关资源
最近更新 更多