スウィフトオブジェクトをJSONオブジェクトに変換してJSONオブジェクトをJSON文字列に変換し、ワイヤで渡してデコードする方法もう片側。Swift:特殊文字の解釈を抑止して文字列リテラルを提供する方法
問題は有効なJSON文字列を生成しています。
改行文字はJSON文字列でエスケープする必要がありますが、Swiftはその文字列をリテラルとして扱う代わりにエスケープ文字列内の特殊文字を解釈します。例えば
:印刷される内容
let a = "foobar\nhello\nworld"
let escapedString = a.replacingOccurrences(of: "\n", with: "\\n")
print(escapedString)
ではなく、所望foobar\\nhello\\nworld
のfoobar\nhello\nworld
あります。
スウィフトに文字列をリテラルとして扱い、特殊文字を解釈しないようにするにはどうしますか?
UPDATE
OOPerはdebugPrint
がそのまま残り\\n
文字を示し用いて、指摘しているように。
ただし、evaluateJavaScript
と組み合わせてWKWebView
と入力すると、\\n
の文字は根本的な問題である\n
に変わります。たとえば:
let script = "\(callback)(\'\(escapedString)\')"
webView!.evaluateJavaScript(script) { (object: Any?, error: Error?) -> Void in
print("Done invoking \(callback)")
}
これは偉大なポイントである、 'evaluateJavaScript.'の内部で使用された場合、\\ nは離れてどこに行くので、多分より多くのコードを投稿する必要があります – Crashalot
更新された質問は、根本的な問題に関するご意見をお待ちしています – Crashalot