如何将一个字符串传递给Kotlin中没有转义符号的variables?
我希望将字符串{"name":"My Settings 1"}
传递给var aa
我必须使用代码var aa=" {\"name\":\"My Settings 1\"} "
当我使用Android Studio 3.0时,Kotlin中有一个简单的方法吗?
我知道适合XML内容
像在你的例子中那样,在常规String
转义特殊字符是Java和Kotlin所要做的:
"{\"name\":\"My Settings 1\"}"
Kotlin提供了原始字符串来回避这一点。 在这些原始String
不需要转义特殊的字符,它显示了以下内容:
"""{"name":"My Settings 1"}"""
原始字符串由三个引号( """
)分隔。请阅读文档。
你可以在Kotlin中做的最简单的事情是使用带有三个引号的原始字符串 :
val a = """{"name":"My Settings 1"}"""
对于工具解决方案而不是语言解决方案(所以这在Kotlin和Java中都可以使用),您可以在Android Studio或IntelliJ中使用语言注入 。
-
创建一个字符串,并用Alt + Enter在其上调用意图操作。 选择
Inject language or reference
,然后选择JSON
。 -
再次使用Alt + Enter,然后选择
Edit JSON Fragment
。 -
编辑底部出现的面板中的原始JSON,IntelliJ将自动将其内容镜像到字符串中,转义任何必须转义的字符。
- RegisterResGeneratingTask已弃用,请使用registerGeneratedFolders(FileCollection)
- Android Studio 3.0:Canary 6:android.content.res.Resources $ NotFoundException里面的启动活动
- 在android studio 3.0中导入项目代码类时出错
- 如何从Kotlin的ListView中获取所选项目?
- Kotlin数组创建:参数“init”没有值传递
- Gradle无法解析来自另一个模块的引用
- 将子模块添加到项目中,使用Gradle版本4.1在Android studio 3.0中导致gradle构建失败
- 无法合并dex
- “包含Kotlin支持”checkbox不在Android Studio 3.0 Canary 5中