Kotlin で JSON 文字列のサンプルを表現しようと文字列を書いたのですが、ダブルクォーテーションのエスケープが地味に面倒でした。
ただ、もっと簡単に表現できるよって方法を教えてもらったので備忘録として残しておきます。
ダブルクォーテーションをエスケープする方法
例えばダブルクォーテーションで囲まれた単純な文字列ならこんな感じ。
1 2 | val json = "\"Hello, world!!!\"" println(json) |
“Hello, world!!!”
JSON 文字列だとバックスラッシュ(Windowsだと円マーク)でエスケープ連発ですね。
1 2 | val json = "{\"id\":1,\"name\":\"ネコ\"}" println(json) |
{“id”:1,”name”:”ネコ”}
ダブルクォーテーション3つで囲む方法
ダブルクォーテーション 3 つで両サイドを挟むと、その中のダブルクォーテーションがそのまま表現できます。
1 2 | val json = """{"id":1,"name":"ネコ"}""" println(json) |
{“id”:1,”name”:”ネコ”}
これは Python など他の言語でもありますが、「三連引用符」と言われるやつですね。
でも、「三連引用符」って他の言語でも共通した名称なのだろうか。
最初や最後の文字がダブルクォーテーションだと、ダブルクォーテーションが 4 つ並ぶので見にくいかなっと思ったのですが、ヒアドキュメントっぽく改行しちゃえばいいですね。
1 2 3 4 | val json = """ {"id":1,"name":"ネコ"} """ println(json) |