查找在文本字段中输入的特殊字符并在 swift 中转义
Find special characters entered in a textfield and escape in swift
我的要求是根据 UITextField
中输入的文本创建 JSON
。 UITextField
没有限制。因此,如果用户输入特殊字符("、\ 等),我想转义输入的值并创建一个 JSON
.
String literals can include the following special characters:
- The escaped special characters [=17=] (null character), \ (backslash), \t (horizontal tab), \n (line feed), \r (carriage return), \"
(double quote) and \' (single quote)
- An arbitrary Unicode scalar, written as \u{n}, where n is a 1–8 digit hexadecimal number with a value equal to a valid Unicode code
point
例如,如果用户输入 "Hello "User"! How to use a \ in a JSON?"
。它应该 return 像这样 "Hello \"User\"! How to use a \ in a JSON?"
。不只是 " 或 \,我想转义所有特殊字符。
谢谢!非常感谢您为我提供解决方案所做的努力。
编辑
我忘了说,这个要求是针对 Swift 4.2 的。
不要“手动”转义字符以创建 JSON。有专门的 JSONEncoder()
class 用于此目的。
Top-level JSON对象只能是数组或字典。以下是包含具有给定字符串的单个元素的数组的示例:
let text = """
Hello "User"! How to use a \ in a JSON?
Another line line
"""
do {
let jsonData = try JSONEncoder().encode([text])
let jsonString = String(data: jsonData, encoding: .utf8)!
print(jsonString)
} catch {
print(error.localizedDescription)
}
输出为
["Hello \"User\"! How to use a \ in a JSON?\nAnother line"]
我的要求是根据 UITextField
中输入的文本创建 JSON
。 UITextField
没有限制。因此,如果用户输入特殊字符("、\ 等),我想转义输入的值并创建一个 JSON
.
String literals can include the following special characters:
- The escaped special characters [=17=] (null character), \ (backslash), \t (horizontal tab), \n (line feed), \r (carriage return), \" (double quote) and \' (single quote)
- An arbitrary Unicode scalar, written as \u{n}, where n is a 1–8 digit hexadecimal number with a value equal to a valid Unicode code point
例如,如果用户输入 "Hello "User"! How to use a \ in a JSON?"
。它应该 return 像这样 "Hello \"User\"! How to use a \ in a JSON?"
。不只是 " 或 \,我想转义所有特殊字符。
谢谢!非常感谢您为我提供解决方案所做的努力。
编辑 我忘了说,这个要求是针对 Swift 4.2 的。
不要“手动”转义字符以创建 JSON。有专门的 JSONEncoder()
class 用于此目的。
Top-level JSON对象只能是数组或字典。以下是包含具有给定字符串的单个元素的数组的示例:
let text = """
Hello "User"! How to use a \ in a JSON?
Another line line
"""
do {
let jsonData = try JSONEncoder().encode([text])
let jsonString = String(data: jsonData, encoding: .utf8)!
print(jsonString)
} catch {
print(error.localizedDescription)
}
输出为
["Hello \"User\"! How to use a \ in a JSON?\nAnother line"]