当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


TypeScript Map转JSON用法及代码示例


TypeScript,我们可以将MapJSON通过将 Map 的键值对操作为 JSON 格式的字符串。我们可以使用 JSON.stringify、fast-json-stringify 和 json-stringify-safe 库等各种方法进行转换。

使用JSON.stringify

在这种方法中,我们使用 JSON.stringify 方法来转换TypeScript Map转换为 JSON 格式的字符串。通过迭代Map条目并创建具有键值对的对象,输出 JSON 字符串 (res) 以序列化格式打印Map数据。

用法:

JSON.stringify(value: any, replacer?: 
(key: string, value: any) =>
any, space?: string | number): string;

例子:下面的例子使用JSON stringify()将Map转换为 JSONTypeScript.

Javascript


const data: Map<string, string> = new Map([
    ['name', 'GeeksforGeeks'],
    ['type', 'Education'],
    ['category', 'Computer Science'],
]);
const obj: { [key: string]: string } = {};
data.forEach((value, key) => {
    obj[key] = value;
});
const res: string = JSON.stringify(obj);
console.log(res);

输出:

{ name: "GeeksforGeeks", type: "Education", category: "Computer Science"}

使用fast-json-stringify库

在这种方法中,我们使用fast-json-stringify库,用于根据键值对的预定义模式高效生成 JSON stringify 函数Map。该架构是使用 Array.from(data.entries()).reduce 动态生成的,确保每个键都与字符串类型关联。最后,stringify 函数应用于从 Map 创建的转换后的对象,生成 JSON 输出。

将 fast-json-stringify 库与 TypeScript 结合使用的步骤:

第 1 步:初始化一个新项目

打开终端或命令提示符并导航到要在其中创建的目录TypeScript项目。然后运行以下命令。

npm init

步骤 2:安装 TypeScript 作为开发依赖项

你需要安装TypeScript使用以下命令作为项目中的开发依赖项。

npm install typescript --save-dev

步骤 3:创建tsconfig.json 文件

tsconfig.json 文件包含TypeScript您的项目的编译器选项。运行以下命令。

npx tsc --init

第4步:安装fast-json-stringify

安装fast-json-stringify库使用以下命令。

npm install fast-json-stringify

步骤 5:安装节点类型

安装@类型/节点使用以下命令进入您的项目目录。

npm install --save @types/node

第6步:编译TypeScript代码

使用下面的命令来编译TypeScript代码。

npx tsc

第 7 步:运行您的代码

使用以下命令运行代码。

node index.js

项目结构:

PS

例子:下面的示例使用 fast-json-stringify 库将Map转换为 TypeScript 中的 JSON。

Javascript


const fastJsonStringify = 
    require('fast-json-stringify');
const data: Map<string, string> = 
new Map([
    ['name', 'GeeksforGeeks'],
    ['type', 'Education'],
    ['category', 'Computer Science'],
]);
const temp = fastJsonStringify({
    type: 'object',
    properties: Array.from(data.entries()).reduce(
        (acc: Record<string, { type: string }>, [key, value]) => 
        {
            acc[key] = { type: 'string' };
            return acc;
    }, {}),
});
const res = temp(Object.fromEntries(data));
console.log(res);

输出:

Output

使用json-stringify-safe库

在这种方法中,我们使用json-stringify-safe库来转换TypeScript MapJSON。我们首先使用以下方法将 Map 转换为普通对象Array forEach(),然后应用 json-stringify-safe 来获取 JSON 字符串表示形式。

将 json-stringify-safe 库与 TypeScript 结合使用的步骤:

第 1 步:初始化一个新项目

打开终端或命令提示符并导航到要在其中创建 TypeScript 项目的目录。然后运行以下命令。

npm init

步骤 2:安装 TypeScript 作为开发依赖项

你需要安装TypeScript使用以下命令作为项目中的开发依赖项。

npm install typescript --save-dev

步骤 3:创建tsconfig.json 文件

tsconfig.json 文件包含TypeScript您的项目的编译器选项。运行以下命令。

npx tsc --init

第4步:安装json-stringify-safe

使用以下命令安装json-stringify-safe 库。

npm install json-stringify-safe

步骤 5:安装节点类型

使用以下命令将 @types/node 安装到项目目录中。

npm install --save @types/node

第6步:编译TypeScript代码

使用以下命令编译TypeScript代码。

npx tsc

第 7 步:运行您的代码

使用以下命令运行代码。

node index.js

项目结构:

例子:下面的示例使用 json-stringify-safe 库将Map转换为 TypeScript 中的 JSON。

Javascript


const stringify = require('json-stringify-safe');
const data: Map<string, string> = new Map([
    ['name', 'GeeksforGeeks'],
    ['type', 'Education'],
    ['category', 'Computer Science'],
]);
const obj: { [key: string]: string } = {};
data.forEach((value, key) => {
    obj[key] = value;
});
const jsonString: string = stringify(obj);
console.log(jsonString);

输出:

Output



相关用法


注:本文由纯净天空筛选整理自gauravgandal大神的英文原创作品 How to Convert Map to JSON in TypeScript ?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。