如何加载 JSON 数据
JSON (JavaScript 对象表示法) 是一种开放标准文件格式和数据交换格式,使用人类可读的文本存储和传输由属性-值对和数组(或其他可序列化值)组成的数据对象。
JSON Lines 是一种文件格式,其中每一行都是一个有效的 JSON 值。
JSON 加载器使用 JSON 指针 来定位你想要定位的 JSON 文件中的键。
没有 JSON 指针示例
使用它的最简单方法是不指定 JSON 指针。加载器将加载在 JSON 对象中找到的所有字符串。
JSON 文件示例
{
"texts": ["This is a sentence.", "This is another sentence."]
}
示例代码
import { JSONLoader } from "langchain/document_loaders/fs/json";
const loader = new JSONLoader("src/document_loaders/example_data/example.json");
const docs = await loader.load();
/*
[
Document {
"metadata": {
"blobType": "application/json",
"line": 1,
"source": "blob",
},
"pageContent": "This is a sentence.",
},
Document {
"metadata": {
"blobType": "application/json",
"line": 2,
"source": "blob",
},
"pageContent": "This is another sentence.",
},
]
*/
使用 JSON 指针示例
你可以通过选择想要从 JSON 对象中的哪些键中提取字符串来执行更高级的场景。
在这个示例中,我们只想要从 "from" 和 "surname" 条目中提取信息。
{
"1": {
"body": "BD 2023 SUMMER",
"from": "LinkedIn Job",
"labels": ["IMPORTANT", "CATEGORY_UPDATES", "INBOX"]
},
"2": {
"body": "Intern, Treasury and other roles are available",
"from": "LinkedIn Job2",
"labels": ["IMPORTANT"],
"other": {
"name": "plop",
"surname": "bob"
}
}
}
示例代码
import { JSONLoader } from "langchain/document_loaders/fs/json";
const loader = new JSONLoader(
"src/document_loaders/example_data/example.json",
["/from", "/surname"]
);
const docs = await loader.load();
/*
[
Document {
pageContent: 'LinkedIn Job',
metadata: { source: './src/json/example.json', line: 1 }
},
Document {
pageContent: 'LinkedIn Job2',
metadata: { source: './src/json/example.json', line: 2 }
},
Document {
pageContent: 'bob',
metadata: { source: './src/json/example.json', line: 3 }
}
]
**/