# @art-suite/art-core-ts-json 中文文档

规范地址：https://npmcn.com/package/%40art-suite/art-core-ts-json/

版本：0\.5\.2
npm 元数据更新时间：2026-06-19T10:24:14.579Z
中文译文更新时间：2026-11-06T20:35:52.733Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40art-suite/art-core-ts-json
原文对照：https://npmcn.com/package/%40art-suite/art-core-ts-json/?lang=original
项目主页：https://github.com/art-suite/art-suite-ts#readme
源码仓库：https://github.com/art-suite/art-suite-ts

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：54.1 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2025-05-12T09:02:18.909Z
- 最新版本发布：2026-06-19T10:24:14.464Z
- 近 30 天下载量：3254（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：25（近 12 个月 6 个）

## 中文简介

一个 TypeScript JSON 工具库

## 安装

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

也可以使用：`pnpm add @art-suite/art-core-ts-json`、`yarn add @art-suite/art-core-ts-json`、`bun add @art-suite/art-core-ts-json`

## README

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

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

## 为什么是这个模块?

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

-   **JSON 的脚本类型 :** 用途 [类型庆典](https://www.npmjs.com/package/type-fest)Json类型.
-   **TypeScript 支持的常用工具:** 包括以类型安全方式与JSON数据合作的类型守卫和助手.
-   **转换公用事业:** 使得JSON与其他JavaScript类型之间易于转换,包括递归转换和正常化.

## 安装和使用示例( 需要)

用 npm 安装 :

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

基本用途:

```ts
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 是什么？

一个 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 和提交记录判断。

