创建一个包含引号而不转义的字符串

时间:2018-04-06 19:56:06

标签: swift swift3

需要发送包含引号的json字符串:

"{"property1": false, "property2": "orange"}"

但是当我挂载该字符串时,我的回复包含\"而不只是":

"{\"property1\": false, \"property2\": \"orange\"}"

这是一个问题,因为我发送的字符串要由服务器处理。如何在没有转义字符的情况下发送此字符串" \" ?

1 个答案:

答案 0 :(得分:1)

别担心。反斜杠是虚拟的,它们被添加为能够在文字字符串中显示双引号。

这些行将字典转换为JSON并打印原始数据。反斜杠为0x5c,双引号为0x22

正如您所看到的,数据中没有反斜杠。

let dict : [String:Any] = ["property1": false, "property2": "orange"]
let data = try! JSONSerialization.data(withJSONObject: dict)
print(data as NSData)
// <7b227072 6f706572 74793222 3a226f72 616e6765 222c2270 726f7065 72747931 223a6661 6c73657d>

当您在Playground中print字符串时,您会看到

enter image description here