langchain_community.document_loaders.json_loader.JSONLoader

class langchain_community.document_loaders.json_loader.JSONLoader(file_path: Union[str, Path], jq_schema: str, content_key: Optional[str] = None, is_content_key_jq_parsable: Optional[bool] = False, metadata_func: Optional[Callable[[Dict, Dict], Dict]] = None, text_content: bool = True, json_lines: bool = False)[source]

使用`jq`模式加载一个`JSON`文件。

例如:

[{“text”: …}, {“text”: …}, {“text”: …}] -> 模式 = .[].text {“key”: [{“text”: …}, {“text”: …}, {“text”: …}]} -> 模式 = .key[].text [“”, “”, “”] -> 模式 = .[]

初始化JSONLoader。

参数:

file_path(Union[str, Path]):JSON或JSON Lines文件的路径。 jq_schema(str):用于从JSON中提取数据或文本的jq模式。 content_key(str):用于从JSON中提取内容的键,如果jq_schema的结果是对象(字典)的列表。如果is_content_key_jq_parsable为True,则此键必须是jq兼容的模式。如果is_content_key_jq_parsable为False,则此键应为简单字符串键。 is_content_key_jq_parsable(bool):一个标志,用于确定content_key是否可被jq解析。如果为True,则content_key将被视为jq模式并相应地编译。如果为False或content_key为None,则content_key将被用作简单字符串。默认为False。 metadata_func(Callable[Dict, Dict]):一个函数,接受由jq_schema提取的JSON对象和默认元数据,并返回更新后的元数据字典。 text_content(bool):布尔标志,指示内容是否为字符串格式,默认为True。 json_lines(bool):布尔标志,指示输入是否为JSON Lines格式。

Methods

__init__(file_path, jq_schema[, ...])

初始化JSONLoader。

alazy_load()

一个用于文档的惰性加载器。

aload()

将数据加载到文档对象中。

lazy_load()

从JSON文件中加载并返回文档。

load()

将数据加载到文档对象中。

load_and_split([text_splitter])

加载文档并分割成块。块作为文档返回。

Parameters
  • file_path (Union[str, Path]) –

  • jq_schema (str) –

  • content_key (Optional[str]) –

  • is_content_key_jq_parsable (Optional[bool]) –

  • metadata_func (Optional[Callable[[Dict, Dict], Dict]]) –

  • text_content (bool) –

  • json_lines (bool) –

__init__(file_path: Union[str, Path], jq_schema: str, content_key: Optional[str] = None, is_content_key_jq_parsable: Optional[bool] = False, metadata_func: Optional[Callable[[Dict, Dict], Dict]] = None, text_content: bool = True, json_lines: bool = False)[source]

初始化JSONLoader。

参数:

file_path(Union[str, Path]):JSON或JSON Lines文件的路径。 jq_schema(str):用于从JSON中提取数据或文本的jq模式。 content_key(str):用于从JSON中提取内容的键,如果jq_schema的结果是对象(字典)的列表。如果is_content_key_jq_parsable为True,则此键必须是jq兼容的模式。如果is_content_key_jq_parsable为False,则此键应为简单字符串键。 is_content_key_jq_parsable(bool):一个标志,用于确定content_key是否可被jq解析。如果为True,则content_key将被视为jq模式并相应地编译。如果为False或content_key为None,则content_key将被用作简单字符串。默认为False。 metadata_func(Callable[Dict, Dict]):一个函数,接受由jq_schema提取的JSON对象和默认元数据,并返回更新后的元数据字典。 text_content(bool):布尔标志,指示内容是否为字符串格式,默认为True。 json_lines(bool):布尔标志,指示输入是否为JSON Lines格式。

Parameters
  • file_path (Union[str, Path]) –

  • jq_schema (str) –

  • content_key (Optional[str]) –

  • is_content_key_jq_parsable (Optional[bool]) –

  • metadata_func (Optional[Callable[[Dict, Dict], Dict]]) –

  • text_content (bool) –

  • json_lines (bool) –

async alazy_load() AsyncIterator[Document]

一个用于文档的惰性加载器。

Return type

AsyncIterator[Document]

async aload() List[Document]

将数据加载到文档对象中。

Return type

List[Document]

lazy_load() Iterator[Document][source]

从JSON文件中加载并返回文档。

Return type

Iterator[Document]

load() List[Document]

将数据加载到文档对象中。

Return type

List[Document]

load_and_split(text_splitter: Optional[TextSplitter] = None) List[Document]

加载文档并分割成块。块作为文档返回。

不要覆盖此方法。应该被视为已弃用!

参数:
text_splitter: 用于分割文档的TextSplitter实例。

默认为RecursiveCharacterTextSplitter。

返回:

文档列表。

Parameters

text_splitter (Optional[TextSplitter]) –

Return type

List[Document]

Examples using JSONLoader