Kotlin中如何为JSON字符串添加换行并嵌入变量?
解决Kotlin中JSON字符串换行与变量替换问题
1. 为JSON字符串添加换行(修复多行字符串语法错误)
Kotlin里实现多行可读字符串的正确语法是用**三个双引号(""")**包裹内容,而非单个反引号。这种写法允许直接写入换行、缩进,不用手动加\n转义符,天然就能提升JSON的可读性。
示例代码:
val myString = "some string" val myObjectJson = """ { "example1": "value", "example2": "$myString" } """.trimIndent() // trimIndent() 会移除所有行开头的公共空白缩进,让JSON格式更整洁
2. 在JSON字符串中使用变量
在Kotlin多行字符串里,可以直接用$引用变量,但要遵守JSON语法规则:字符串类型的变量必须被双引号包裹,否则会导致JSON格式非法。
如果变量内容包含特殊字符(比如双引号、反斜杠),手动拼接JSON很容易触发格式错误,更稳妥的方式是借助ObjectMapper直接序列化对象,而非手动拼接字符串:
// 先定义对应的数据类 data class MyClass(val example1: String, val example2: String) val myString = "some string" // 创建对象实例 val myObject = MyClass("value", myString) // 生成带换行、缩进的格式化JSON val formattedJson = objectMapper.writerWithDefaultPrettyPrinter() .writeValueAsString(myObject)
这种方式既避免了手动拼接的语法问题,还能自动处理特殊字符的转义,同时writerWithDefaultPrettyPrinter()会自动生成可读性强的格式化JSON。
内容的提问来源于stack exchange,提问作者user3145047
相关产品推荐
相关产品推荐

