@bonniernews/json-autocomplete

中文文档
0.0.15发布于 2025/11/24MITTypeScriptESM + CJS零依赖近 30 天下载 3575

完成不完全的 JSON 字符串与缓存相容

中文使用文档
文档目录13 节
  1. 目录
  2. 特征
  3. 安装
  4. 使用量
  5. 基本示例
  6. 使用 jsonAutocomplete 帮助
  7. API 参考
  8. createJsonAutocomplete()
  9. jsonAutocomplete
  10. 捐款
  11. 行为守则
  12. 许可证
  13. 支助

JSON 自动完成

npm License Coverage

从可能不完整的有缓存能力的JSON附件操作中逐步构建并完成JSON字符串的功能. 适合现代LLM应用,应该流出json输出. 完美地结合了OpenAI的聊天完成API.

目录

特征

  • 递增建筑物: 递增添加 JSON 字符串的部分并获得尽可能有效的 JSON.
  • 字符串处理:正确处理字符串,逃出字符,和嵌入结构.
  • 检查出错: 检测出不平衡的括号和括号.
  • 缓存能力:高效地管理内部状态以优化性能.

安装

您可以安装 JSON 自动完成 通过 无 或者说 雅伦数字 :

# Using npm
npm install @bonniernews/json-autocomplete

# Using Yarn
yarn add @bonniernews/json-autocomplete

使用量

基本示例

import { createJsonAutocomplete } from "@bonniernews/json-autocomplete";

// Create a new autocompleter instance
const autocompleter = createJsonAutocomplete();

// Append incomplete JSON fragments
const part1 = '{"name": "Alice", "age": 30';
const completed1 = autocompleter.append(part1);
console.log(completed1); // Outputs: {"name": "Alice", "age": 30}

const part2 = ', "address": {"street": "123 Main St';
const completed2 = autocompleter.append(part2);
console.log(completed2); // Outputs: {"name": "Alice", "age": 30, "address": {"street": "123 Main St"}}

const part3 = '", "city": "Wonderland"}}';
const completed3 = autocompleter.append(part3);
console.log(completed3); // Outputs: {"name": "Alice", "age": 30, "address": {"street": "123 Main St", "city": "Wonderland"}}

使用 jsonAutocomplete 帮助

为了更简单的使用,您可以使用 jsonAutocomplete 内部管理自动补全实例的助手函数.

import { jsonAutocomplete } from "@bonniernews/json-autocomplete";

const incompleteJson1 = '{"isActive": true, "roles": ["admin", "user"';
const completedJson1 = jsonAutocomplete(incompleteJson1);
console.log(completedJson1); // Outputs: {"isActive": true, "roles": ["admin", "user"]}

const incompleteJson2 = ', "permissions": {"read": true, "write": false';
const completedJson2 = jsonAutocomplete(incompleteJson2);
console.log(completedJson2); // Outputs: {"isActive": true, "roles": ["admin", "user"], "permissions": {"read": true, "write": false}}

API 参考

createJsonAutocomplete()

创建新的 JSON 自动完成实例 .

回返

具有下列方法的天体:

  • append(part: string): string: 附加 JSON 的一个片段,并返回所有附件片段所构建的最佳有效 JSON 字符串.

示例

import { createJsonAutocomplete } from "@bonniernews/json-autocomplete";

const autocompleter = createJsonAutocomplete();

const jsonPart1 = '{"product": "Laptop", "price": 1200';
const completedJson1 = autocompleter.append(jsonPart1);
console.log(completedJson1); // {"product": "Laptop", "price": 1200}

const jsonPart2 = ', "specs": {"cpu": "Intel i7", "ram": "16GB"';
const completedJson2 = autocompleter.append(jsonPart2);
console.log(completedJson2); // {"product": "Laptop", "price": 1200, "specs": {"cpu": "Intel i7", "ram": "16GB"}}

const jsonPart3 = "}}";
const completedJson3 = autocompleter.append(jsonPart3);
console.log(completedJson3); // {"product": "Laptop", "price": 1200, "specs": {"cpu": "Intel i7", "ram": "16GB"}}

jsonAutocomplete

一个用于渐进自动完成 JSON 字符串而无需手动管理自动完成实例的助手函数 .

参数

  • incompleteJsonString: string不完整的JSON字符串碎片.
  • autocompleter?: ReturnType<typeof createJsonAutocomplete>: (可选) 已存在的自动补全实例 。 如果不提供,将创建一个新的系统.

回返

  • string: 从所有附件片段所构建的最佳有效 JSON 字符串 .

示例

import { jsonAutocomplete } from "@bonniernews/json-autocomplete";

let completedJson = jsonAutocomplete('{"title": "Book"');
console.log(completedJson); // {"title": "Book"}

completedJson = jsonAutocomplete(', "author": "Jane Doe"');
console.log(completedJson); // {"title": "Book", "author": "Jane Doe"}

completedJson = jsonAutocomplete("}");
console.log(completedJson); // {"title": "Book", "author": "Jane Doe"}

捐款

欢迎捐款! 请遵循这些步骤:

  1. 叉子存储器: 单击 叉头 按钮.

  2. 砍断你的叉子数字 :

    git clone https://github.com/your-username/json-autocomplete.git
    cd json-autocomplete
    
  3. 安装依赖关系数字 :

    npm install
    
  4. 创建新分支数字 :

    git checkout -b feature/YourFeature
    
  5. 做你的改变: 执行您的特性或错误修正 .

  6. 林特和类型检查数字 :

    npm run lint
    npm run typecheck
    
  7. 运行测试数字 :

    npm test
    
  8. 提交更改数字 :

    git commit -m "Add your message here"
    
  9. 推到叉子边数字 :

    git push origin feature/YourFeature
    
  10. 创建拉动请求:去原寄存器并提交拉取请求.

行为守则

请遵守 邦尼尔新闻行为守则 在您与项目的所有互动中.

许可证

本项目根据以下规定获得许可证: MIT 许可证。您可以根据许可证条款自由使用、修改和分发.

支助

如果遇到任何问题或有问题,请打开 问题 (原始内容存档于2018-09-29). on GitHub.

版本与发布记录

@bonniernews/json-autocomplete 共发布 6 个版本,首次发布于 2024/12/12;过去 12 个月发布了 1 个版本。

版本发布日期距今
0.0.15latest2025/11/2411 个月前
0.0.142024/12/171.9 年前
0.0.132024/12/161.9 年前
0.0.122024/12/161.9 年前
0.0.112024/12/161.9 年前
0.0.102024/12/121.9 年前

关于 @bonniernews/json-autocomplete 的常见问题

@bonniernews/json-autocomplete 是什么?

完成不完全的 JSON 字符串与缓存相容

如何安装 @bonniernews/json-autocomplete?

在项目目录运行 npm install @bonniernews/json-autocomplete,或使用 pnpm add / yarn add / bun add。

@bonniernews/json-autocomplete 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bonniernews/json-autocomplete 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bonniernews/json-autocomplete 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bonniernews/json-autocomplete 可以商用吗?

@bonniernews/json-autocomplete 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bonniernews/json-autocomplete 的下载量有多少?

根据 npm 官方下载统计,@bonniernews/json-autocomplete 在 2026/10/09 – 2026/11/07 这 30 天内被下载 3,575 次,日均约 119 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bonniernews/json-autocomplete 还在维护吗?

最新版本 0.0.15 发布于 2025/11/24(11 个月前);至今共发布 6 个版本,其中过去 12 个月发布了 1 个;首次发布于 2024/12/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。