ユースケース:JSONとSQL
構造化テキストをきれいに埋め込みます
「ユースケース:JSONとSQL」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全4レッスンが含まれています。
テキストブロックが活躍する場面
テキストブロックは、JSON、SQL、HTML、XMLのような構造化テキストの埋め込みに最適です。これらの形式では引用符や改行を多用するため、通常の文字列では扱いにくくなります。
JSONを埋め込む
JSONには二重引用符が数多く含まれます。テキストブロックではエスケープする必要がないため、リテラルが実際のJSONとまったく同じ見た目になります。
public class Main {
public static void main(String[] args) {
String json = """
{
"name": "Alice",
"age": 30,
"active": true
}
""";
System.out.print(json);
}
}JSON配列
入れ子になった配列やオブジェクトも、インデントが実際の構造と一致するため、読みやすい状態を保てます。
public class Main {
public static void main(String[] args) {
String json = """
{
"colors": ["red", "green", "blue"]
}
""";
System.out.print(json);
}
}SQLを埋め込む
複数行のSQLクエリが明確になり、そのままコピーして使用できるようになります。断片を余計なスペースとともに連結する必要はもうありません。
public class Main {
public static void main(String[] args) {
String query = """
SELECT id, name
FROM users
WHERE active = true
ORDER BY name
""";
System.out.print(query);
}
}引用符付きの値を含むSQL
SQLの文字列リテラルでは単一引用符を使います。これはテキストブロックのデリミタと衝突しないため、そのまま変更せずに記述できます。
public class Main {
public static void main(String[] args) {
String sql = """
SELECT * FROM products
WHERE category = 'books'
""";
System.out.print(sql);
}
}動的な値を組み立てる
実行時の値を埋め込むには、プレースホルダーとともにString.formatを使用します。実際のアプリでは手動でSQLを連結するのは避けるべきですが、表示用であればこの方法が明確です。
public class Main {
public static void main(String[] args) {
String template = """
SELECT * FROM users
WHERE id = %d
""";
String query = String.format(template, 42);
System.out.print(query);
}
}formattedメソッド
テキストブロックはインスタンスメソッドformatted(...)と相性がよく、これはブロックにString.formatを適用する簡略記法です。
public class Main {
public static void main(String[] args) {
String json = """
{"user": "%s", "score": %d}
""".formatted("Bob", 95);
System.out.print(json);
}
}HTMLを埋め込む
属性を含むHTMLマークアップでは、二重引用符を数多く使います。テキストブロックなら、整然として有効なHTMLらしい形を保てます。
public class Main {
public static void main(String[] args) {
String html = """
<a href="https://example.com" class="link">
Click here
</a>
""";
System.out.print(html);
}
}XMLを埋め込む
XMLの設定用スニペットにも適しており、階層構造をひと目で確認できる形のまま保持できます。
public class Main {
public static void main(String[] args) {
String xml = """
<config>
<port>8080</port>
<debug>true</debug>
</config>
""";
System.out.print(xml);
}
}埋め込んだデータを処理する
一度定義すれば、通常の文字列と同じようにブロックを扱えます。ここではCSV形式のブロックの行数を数えています。
public class Main {
public static void main(String[] args) {
String csv = """
id,name
1,Alice
2,Bob
""";
String[] rows = csv.strip().split("\n");
System.out.println("Data rows: " + (rows.length - 1));
}
}複数のスニペットを組み合わせる
小さなテキストブロックをフォーマットして連結することで、より大きなドキュメントを組み立てられます。
public class Main {
public static void main(String[] args) {
String row = """
<li>%s</li>
""";
String list = "<ul>\n" + row.formatted("One") + row.formatted("Two") + "</ul>";
System.out.print(list);
}
}クイックチェック
JSONの埋め込みにテキストブロックが特に便利なのはなぜですか?
まとめ
テキストブロックの実践的な用途について学びました。
- JSON、SQL、HTML、XMLに適しています
- 二重引用符をエスケープする必要はありません
- 値の埋め込みには
formatted(...)またはString.formatを使用します - 結果は解析や分割ができる通常の
Stringです - インデントが実際の構造を反映します
よくある質問
「ユースケース:JSONとSQL」レッスンは無料ですか?
はい。「ユースケース:JSONとSQL」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全4レッスンが含まれています。
「ユースケース:JSONとSQL」で何を学びますか?
構造化テキストをきれいに埋め込みます ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「ユースケース:JSONとSQL」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- テキストブロックの宣言
- インデントと除去
- テキストブロック内のエスケープ
- ユースケース:JSONとSQL