列表

详情


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

现给定一个对象,返回该对象的有效 JSON 字符串。你可以假设这个对象只包括字符串、整数、数组、对象、布尔值和 null。返回的字符串不能包含额外的空格。键的返回顺序应该与 Object.keys() 的顺序相同。

请你在不使用内置方法 JSON.stringify 的前提下解决这个问题。

 

示例 1:

输入:object = {"y":1,"x":2}
输出:{"y":1,"x":2}
解释:
返回该对象的 JSON 表示形式。
注意,键的返回顺序应该与 Object.keys() 的顺序相同。

示例 2:

输入:object = {"a":"str","b":-12,"c":true,"d":null}
输出:{"a":"str","b":-12,"c":true,"d":null}
解释:
JSON 的基本类型是字符串、数字型、布尔值和 null。

示例 3:

输入:object = {"key":{"a":1,"b":[{},null,"Hello"]}}
输出:{"key":{"a":1,"b":[{},null,"Hello"]}}
解释:
对象和数组可以包括其他对象和数组。

示例 4:

输入:object = true
输出:true
解释:
基本类型是有效的输入

 

Constraints:

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板

javascript 解法, 执行用时: 96 ms, 内存消耗: 64.8 MB, 提交时间: 2023-04-17 15:34:05

/**
 * @param {any} object
 * @return {string}
 */
var jsonStringify = function(object) {
    if ( object === null ) {
        return 'null'
    }
    if ( Array.isArray(object) ) {
       return '[' + object.map(value => jsonStringify(value)).join() + ']'
    }
    if ( typeof object === 'object' ) {
        return '{' + Object.keys(object).map(key => '"' + key + '":' + jsonStringify(object[key])).join() + '}';
    }
    
    if ( typeof object === 'string' ) {
        return '"' + object + '"'
    }
    return object + ''
};

javascript 解法, 执行用时: 72 ms, 内存消耗: 42.9 MB, 提交时间: 2023-04-17 15:32:23

/**
 * @param {any} object
 * @return {string}
 */
var jsonStringify = function(object) {
    return JSON.stringify(object);
};

上一题