iOS中的JSON序列化双引号(")和单引号(')

时间:2018-03-28 07:57:36

标签: ios objective-c json object nsutf8encoding

我正面临着JSON编码问题。

我已将我的数据提交到服务器上的formate以保存备注。

{
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);
  }

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

有人有想法吗?

2 个答案:

答案 0 :(得分:0)

你可能应该逃避你的非定界引号: {     备注="测试苹果\" \" \" &#34 ;; }

答案 1 :(得分:0)

iOS 11已添加"智能标点"键盘设置。

这意味着在键入" Singapore"它会将它转换为“新加坡”。 '"''''被“'”'取代和'“'串。这些是不同的引用。

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

Smart Punctuation = No