當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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 ?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。