JSON iOS 中的序列化双引号 (") 和单引号 (') 问题
JSON serialization double quote (") and single (') quote issue in iOS
我遇到 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);
}
我的问题是为什么我没有得到我已经提交。我只面对双引号 (") 和单引号 (')。
有人知道吗?
您可能应该转义您的 non-delimitating 引号:
{
备注="test apple \"\"\"";
}
iOS 11 已将 "Smart Punctuation" 添加到键盘设置。
这意味着当输入 "Singapore" 时,它会将其转换为“新加坡”。 '"' 被替换为 '“' 和 '”' 字符串。这些是不同的引号。
因此,一种选择可能是将““”和“””也替换为“\”。
Smart Punctuation = No
我遇到 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);
}
我的问题是为什么我没有得到我已经提交。我只面对双引号 (") 和单引号 (')。
有人知道吗?
您可能应该转义您的 non-delimitating 引号: { 备注="test apple \"\"\""; }
iOS 11 已将 "Smart Punctuation" 添加到键盘设置。
这意味着当输入 "Singapore" 时,它会将其转换为“新加坡”。 '"' 被替换为 '“' 和 '”' 字符串。这些是不同的引号。
因此,一种选择可能是将““”和“””也替换为“\”。
Smart Punctuation = No