> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-zh.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# JSON 文件集成

> 使用 LangChain JavaScript 集成 JSON 文件文档加载器。

JSON 加载器使用 [JSON 指针](https://github.com/janl/node-jsonpointer) 来定位 JSON 文件中您想要提取的键。

### 不使用 JSON 指针的示例

最简单的方式是不指定 JSON 指针。加载器将提取 JSON 对象中所有找到的字符串。

示例 JSON 文件：

```json theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
  "texts": ["这是一个句子。", "这是另一个句子。"],
  "nestedTexts": {
    "one": "这是嵌套在对象中的一个句子。",
    "two": "这是嵌套在对象中的另一个句子。"
  }
}
```

示例代码：

```typescript theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
import { JSONLoader } from "@langchain/classic/document_loaders/fs/json";

const loader = new JSONLoader("src/document_loaders/example_data/example.json");

const docs = await loader.load();
/*
[
  Document {
    pageContent: '这是一个句子。',
    metadata: { source: 'example.json', line: 1 }
  },
  Document {
    pageContent: '这是另一个句子。',
    metadata: { source: 'example.json', line: 2 }
  },
  Document {
    pageContent: '这是嵌套在对象中的一个句子。',
    metadata: { source: 'example.json', line: 3 }
  },
  Document {
    pageContent: '这是嵌套在对象中的另一个句子。',
    metadata: { source: 'example.json', line: 4 }
  }
]
*/
```

### 使用 JSON 指针的示例

您可以选择从 JSON 对象中的哪些键提取字符串。

在此示例中，我们只想从 "from" 和 "surname" 条目中提取信息。

```json theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
{
  "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"
    }
  }
}
```

示例代码：

```typescript theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
import { JSONLoader } from "@langchain/classic/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: 'example.json', line: 1 }
  },
  Document {
    pageContent: 'LinkedIn Job2',
    metadata: { source: 'example.json', line: 2 }
  },
  Document {
    pageContent: 'bob',
    metadata: { source: 'example.json', line: 3 }
  }
]
*/
```

***

<div className="source-links">
  <Callout icon="edit">
    [Edit this page on GitHub](https://github.com/langchain-ai/docs/edit/main/src/i18n\zh-CN\oss\javascript\integrations\document_loaders\file_loaders\json.mdx) or [file an issue](https://github.com/langchain-ai/docs/issues/new/choose).
  </Callout>

  <Callout icon="terminal-2">
    [Connect these docs](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
  </Callout>
</div>
