scala - Scala字符串插值:转义双引号
问题描述
我正在尝试使用融合注册表并遇到有关架构格式的问题。
我有一个架构:
val mySchema = "{ \"type\": \"string\" }"
架构注册表希望架构的格式如下:
{"schema" : "{ \"type\": \"string\" }" }
在尝试这个:
val formatted = s"""{"schema": "$mySchema"}"""
//formatted: String = "{\"schema\": \"{\"type\" : \"string\"}\"}"
这不是我需要的(注意\"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\" }
推荐阅读
- go - AWS Lambda 断路器
- ios - locationManager didUpdateLocations 返回零坐标 (0, 0)
- javascript - 通过javascript为HTML元素赋值的方式有什么区别?
- php - 如何将输入字段“地址”添加到运费计算器?
- css - 避免摩纳哥的装饰品被剪裁?
- python - 如何将多索引数据框(按多列分组的数据框)转换为嵌套 json
- javascript - 当前目录中的导入/未解决错误
- hosting - 由于案件 c-311/18 的判决,网络派在欧盟是非法的?
- php - 与制造商捆绑包和注册表不兼容 - SYMFONY
- python - 从 URL 获取 repo 的最新标签