使用场景:JSON 与 SQL
整洁地嵌入结构化文本
使用场景:JSON 与 SQL 是 CoddyKit 上的免费 Java Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 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 标记包含许多双引号。文本块可以让它保持整洁,并且看起来符合格式要求。
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」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Java Academy 课程的其余内容,请升级到 CoddyKit PRO。 Java Academy 课程共包含 4 节课。
「使用场景:JSON 与 SQL」这节课中我会学到什么?
整洁地嵌入结构化文本 你通过在浏览器中直接运行的动手代码来练习 Java Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Java Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Java Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「使用场景:JSON 与 SQL」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Java Academy 课中编写并运行代码吗?
能。每节 Java Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。