跳到主要内容

2633.将对象转换为JSON字符串

链接:2633.将对象转换为JSON字符串
难度:Medium
标签:
简介:现给定一个对象,返回该对象的有效 JSON 字符串。你可以假设这个对象只包括字符串、整数、数组、对象、布尔值和 null。返回的字符串不能包含额外的空格。键的返回顺序应该与 Object.keys() 的顺序相同。

题解 1 - typescript

  • 编辑时间:2023-04-24
  • 执行用时:104ms
  • 内存消耗:64.6MB
  • 编程语言:typescript
  • 解法介绍:对对象递归查找,并判断是否是数组,对字符串加双引号。
function jsonStringify(object: any): string {
const t = typeof object;
if (t !== 'object' || object === null || object === undefined)
return t === 'string' ? `"${object}"` : `${object}`;
const isArr = Array.isArray(object);
let str = '';
str += isArr ? '[' : '{';
str += Object.entries(object)
.map(([k, v]) => {
const isStr = typeof v === 'string';
let str = '';
if (!isArr) str += `"${k}":`;
if (isStr) str += `"`;
str += jsonStringify(v);
if (isStr) str += `"`;
return str;
})
.join(',');
str += isArr ? ']' : '}';
return str;
}