@art-suite/art-core-ts-json

中文文档
0.5.2发布于 2026/06/19MITTypeScriptESM + CJS近 30 天下载 3254

一个 TypeScript JSON 工具库

中文使用文档
文档目录8 节
  1. 为什么是这个模块?
  2. 安装和使用示例( 需要)
  3. 职能概览
  4. JSON 的脚本类型
  5. 类型警卫和公用事业
  6. 转换水电费
  7. JSON改为JS/TS守则
  8. API 文档参考

@art-site/art-core-ts-json (英语)

在TypeScript中与JSON合作的无缝,类型安全的公用事业.

为什么是这个模块?

在JavaScript和TypeScript中与JSON合作很常见,但标准API缺乏类型安全,工效学帮助器,以及强力转换工具. 开发者往往需要验证,转换,并操纵JSON数据,但TypeScript的型号系统并不在本土上支持JSON结构,而JSON与其他JavaScript类型的转换可能很乏味并容易出错.

  • JSON 的脚本类型 : 用途 类型庆典Json类型.
  • TypeScript 支持的常用工具: 包括以类型安全方式与JSON数据合作的类型守卫和助手.
  • 转换公用事业: 使得JSON与其他JavaScript类型之间易于转换,包括递归转换和正常化.

安装和使用示例( 需要)

用 npm 安装 :

npm install @art-suite/art-core-ts-json

基本用途:

import {
  JsonValue,
  JsonObject,
  isJsonObject,
  isJsonArray,
  toJsonValue,
  toJsonObject,
  toJsonPropsObject,
  asJsonObject,
  jsonToJs,
} from "@art-suite/art-core-ts-json";

// Type-safe checks
const value: unknown = { foo: "bar" };
if (isJsonObject(value)) {
  // value is now typed as JsonObject
}

// Convert any value to a valid JsonValue (recursively)
const json: JsonValue = toJsonValue(new Date());
// Convert to JsonObject (recursively)
const obj: JsonObject = toJsonObject({ foo: 1, bar: "baz" });
// Get only scalar properties
const props = toJsonPropsObject({ foo: 1, bar: "baz", nested: { a: 2 } });

// Fast, shallow type check
asJsonObject({ foo: 1 }); // returns { foo: 1 }
asJsonObject("not an object"); // returns {}

// Convert JSON back to JS/TS code string
jsonToJs({ foo: "bar", arr: [1, 2, 3] });

职能概览

JSON 的脚本类型

  • JsonValue - 任何有效的 JSON 值(对象、阵列、字符串、数字、布尔或无效)
  • JsonObject - JSON目标({ [key: string]: JsonValue }(中文(简体) )
  • JsonArray - JSON阵列(JsonValue[](中文(简体) )
  • JsonPrimitive - JSON scalar(弦、数、布尔或无)
  • JsonPropsObject —— JSON 对象,只有平面值

类型警卫和公用事业

  • isJsonObject(value) ——检查一个值是否为 JSON 对象
  • isJsonArray(value) ——检查一个值是否为 JSON 数组
  • isJsonPrimitive(value) ——检查一个值是否为 JSON scalar
  • isJsonString(value) ——检查一个值是否为 JSON 字符串
  • isJsonNumber(value) ——检查一个值是否为 JSON 数字
  • isJsonBoolean(value) ——检查一个值是否为 JSON 布尔值

转换水电费

  • toJsonValue(value, normalizeKeys?) — 递归性地将任何值转换为有效值 JsonValue
  • toJsonObject(value, normalizeKeys?) — 递归性地将任何值转换为有效值 JsonObject
  • toJsonObjectOrNull(value, normalizeKeys?) - 喜欢 toJsonObject返回时 null 用于无效输入
  • toJsonPropsObject(value) 返回 JSON 对象,只具有斯卡尔属性
  • asJsonObject(value) - JSON 对象的快速、浅色类型检查

JSON改为JS/TS守则

  • jsonToJs(value) ——将 JSON 值转换为相当印刷的 JS/TS 代码字符串

API 文档参考

关于所有被输出功能及其参数的详细信息,请参见源代码内的TypeScript打字和JSDoc评论.

版本与发布记录

@art-suite/art-core-ts-json 共发布 25 个版本,首次发布于 2025/05/12;过去 12 个月发布了 6 个版本。

版本发布日期距今
0.5.2latest2026/06/194 个月前
0.5.12026/03/297 个月前
0.5.02026/03/277 个月前
0.4.102025/12/0511 个月前
0.4.92025/12/0511 个月前
0.4.82025/12/0411 个月前

关于 @art-suite/art-core-ts-json 的常见问题

@art-suite/art-core-ts-json 是什么?

一个 TypeScript JSON 工具库

如何安装 @art-suite/art-core-ts-json?

在项目目录运行 npm install @art-suite/art-core-ts-json,或使用 pnpm add / yarn add / bun add。

@art-suite/art-core-ts-json 支持 TypeScript 吗?

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

@art-suite/art-core-ts-json 支持 ESM 还是 CommonJS?

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

@art-suite/art-core-ts-json 可以商用吗?

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

@art-suite/art-core-ts-json 的下载量有多少?

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

@art-suite/art-core-ts-json 还在维护吗?

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