如何在Kotlin中将字符串传递给没有转义符号的var?

Hel*_*oCW 3 kotlin android-studio-3.0

我希望将字符串{"name":"My Settings 1"}传递给var aa

我必须使用代码编写它 var aa=" {\"name\":\"My Settings 1\"} "

当我使用Android Studio 3.0时,Kotlin有一个简单的方法吗?

我知道<![CDATA[...]]>XML内容很好

zsm*_*b13 8

你可以在Kotlin中做的最简单的事情就是使用带有三引号的原始字符串:

val a = """{"name":"My Settings 1"}"""
Run Code Online (Sandbox Code Playgroud)

对于工具解决方案而不是语言解决方案(因此这在Kotlin和Java中都有效),您可以在Android Studio或IntelliJ中使用语言注入.

  1. 创建一个字符串,并使用Alt + Enter调用其上的意图操作.选择Inject language or reference,然后JSON.

    注入语言或参考

    JSON

  2. 再次使用Alt + Enter,然后选择Edit JSON Fragment.

    编辑JSON片段

  3. 在底部显示的面板中编辑原始JSON,IntelliJ将自动将其内容镜像到字符串中,从而转义必须转义的任何字符.

    JSON片段编辑器的屏幕截图


s1m*_*nw1 8

在常规Strings 中转义特殊字符,就像在你的例子中一样,是 Java 和 Kotlin 必须做的事情:

"{\"name\":\"My Settings 1\"}"
Run Code Online (Sandbox Code Playgroud)

Kotlin 提供原始字符串来规避这一点。在这些 raw Strings 中,不需要转义特殊字符,如下所示:

 """{"name":"My Settings 1"}"""
Run Code Online (Sandbox Code Playgroud)

原始字符串由三引号 ( """)分隔。在这里阅读文档。