Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala字符串插值:转义双引号_Scala_String Interpolation - Fatal编程技术网

Scala字符串插值:转义双引号

Scala字符串插值:转义双引号,scala,string-interpolation,Scala,String Interpolation,我试图使用confluent注册表,但遇到了有关模式格式的问题 我有一个模式: val mySchema = "{ \"type\": \"string\" }" 架构注册表希望架构的格式如下所示: {"schema" : "{ \"type\": \"string\" }" } 在尝试这一点时: val formatted = s"""{"schema": "$mySchema"}""" //formatted: String = "{\"schema\": \"{\"t

我试图使用confluent注册表,但遇到了有关模式格式的问题

我有一个模式:

val mySchema = "{ \"type\": \"string\" }"
架构注册表希望架构的格式如下所示:

{"schema" : "{ \"type\": \"string\" }" }
在尝试这一点时:

    val formatted =  s"""{"schema": "$mySchema"}"""
    //formatted: String = "{\"schema\": \"{\"type\" : \"string\"}\"}"
这不是我所需要的(注意
\“schema\”
,以及
\“
文本前置/后缀为schema值)


感谢您的评论/意见。

以下内容是否满足您的要求


    object Main extends App {
      def formatSchema(schema: String) = schema.replace("\"", "\\\"")

      val mySchema  = "{ \"type\": \"string\" }"
      val formatted = s"""{"schema": "${formatSchema(mySchema)}"""

      println(formatted)
    }


    ========= Output ==========
    {"schema": "{ \"type\": \"string\" }


raw”“\foo”“”
不解释反斜杠。这是问题吗?如果您可以将
mySchema
更改为
“{type\”:“string\”}”“”
的话,您的
格式化的
行应该可以工作,如果您能将
格式化的
更改为多行的
s”“{“schema”:“$mySchema”}”“”
但奇怪的是,单行代码不起作用。