提取数组
粘贴 JSON 并输入 data.books 等路径。选中的数据会显示在「提取的数组」中。如果 JSON 本身就是数组,使用 $。
学习如何从 JSON 中提取数组,并将每一项转换为指定格式的文本。参考下面的示例,然后在 RabbitJson 中尝试。
粘贴 JSON 并输入 data.books 等路径。选中的数据会显示在「提取的数组」中。如果 JSON 本身就是数组,使用 $。
编写 ${name} 等模板。检查「转换结果」,然后点击「复制」。要尝试示例数据,请在工作区点击「加载示例」。
编辑时自动更新数组和文本。
先点击「提取数组」,再输入模板并点击「转换文本」。没有模板也能提取数组。
修改模板会保留已提取的数组。在手动模式下,修改 JSON 或路径后需要重新提取。旧结果会被清除,避免复制过期内容。
大型输入会以纯文本显示并隐藏行号,仍处理全部数据。输出最多预览 200 行或 12,000 个字符,可能在某一项中间截断。复制或下载包含完整结果。
草稿保存在当前标签页中。如果保存失败,请保持页面打开或先另存输入再刷新。浏览器存储可用时,切换语言会保留草稿。
字段使用点号,索引使用方括号,例如 data.books 或 items[0].tags。包含点号或空格的键需要带引号的方括号,例如 data["book.list"]。根数组使用 $。最终选中的值必须是数组。
仅推荐返回数组的路径。用上下箭头选择,Tab 或 Enter 插入,Esc 关闭。
选择顶层数组。
JSON 输入
{
"books": [
{
"name": "Book A",
"price": 10
},
{
"name": "Book B",
"price": 20
}
]
}路径表达式
books提取的数组
[
{
"name": "Book A",
"price": 10
},
{
"name": "Book B",
"price": 20
}
]使用点号访问对象内部。
JSON 输入
{
"data": {
"books": [
{
"name": "Book A",
"price": 10
},
{
"name": "Book B",
"price": 20
}
]
}
}路径表达式
data.books提取的数组
[
{
"name": "Book A",
"price": 10
},
{
"name": "Book B",
"price": 20
}
]索引从 0 开始。
JSON 输入
{
"items": [
{
"id": 1,
"tags": [
"a",
"b"
]
},
{
"id": 2,
"tags": [
"c",
"d"
]
}
]
}路径表达式
items[0].tags提取的数组
[
"a",
"b"
]用 ${…} 包裹字段或表达式。在大括号内输入以查看字段建议。
${…} 外的内容保留为普通文本。每一项的结果以换行符连接。字段建议支持嵌套字段,并显示字段在各项中的存在情况。
在模板表达式内,用上下箭头选择字段,Tab 或 Enter 插入,Esc 关闭。
${$item} 表示当前元素;${$index} 从 0 开始,${$index + 1} 可从 1 编号。字段支持 ${name} 和 ${$item.name}。同名保留键使用 ${$item["$item"]} 或 ${$item["$index"]} 访问。使用 ${JSON.stringify($item)} 将整个对象输出为 JSON。
此数组位于根层级,将路径表达式设为 $。应用模板为每一项生成一个 Markdown 列表项,然后复制结果。
提取的数组
[
{
"name": "Alice"
},
{
"name": "Bob"
}
]文本模板
- ${name}转换结果
- Alice
- Bob使用 $item 获取当前字符串,使用 $index + 1 编号。
提取的数组
[
"admin",
"editor"
]文本模板
${$index + 1}. Role: ${$item}转换结果
1. Role: admin
2. Role: editor直接使用当前数字参与计算。
提取的数组
[
10,
20,
30
]文本模板
${$item} × 2 = ${$item * 2}转换结果
10 × 2 = 20
20 × 2 = 40
30 × 2 = 60通过 $item 或字段简写访问对象字段。
提取的数组
[
{
"name": "Alice"
},
{
"name": "Bob"
}
]文本模板
${$index + 1}. ${$item.name} / ${name}转换结果
1. Alice / Alice
2. Bob / Bob插入每个数组项中的字段。
提取的数组
[
{
"name": "Book A",
"author": "Author 1"
},
{
"name": "Book B",
"author": "Author 2"
}
]文本模板
Book: ${name} by ${author}转换结果
Book: Book A by Author 1
Book: Book B by Author 2在表达式内计算数值。
提取的数组
[
{
"name": "Product A",
"price": 100
},
{
"name": "Product B",
"price": 200
}
]文本模板
${name}: $${price} (with tax: $${(price * 1.1).toFixed(2)})转换结果
Product A: $100 (with tax: $110.00)
Product B: $200 (with tax: $220.00)组合字段、计算和普通文本。
提取的数组
[
{
"item": "Item A",
"price": 100,
"qty": 2
},
{
"item": "Item B",
"price": 50,
"qty": 3
}
]文本模板
${item}: ${qty} x $${price} = $${price * qty}转换结果
Item A: 2 x $100 = $200
Item B: 3 x $50 = $150蓝色表示内置变量和匹配的字段,紫色表示模板分隔符,橙色表示运算符,青色表示数字。红色波浪线表示缺失字段。使用 toFixed(2) 保留两位小数。