【问题标题】:JavaScript JSON stringify: make it output a one-line compact stringJavaScript JSON stringify:使其输出单行紧凑字符串
【发布时间】:2018-09-20 15:45:09
【问题描述】:

我正在尝试创建一个自定义函数,用于将 JSON 对象转换为单行字符串。例如:

var obj = {
 "name": "John Doe",
 "age": 29,
 "location": "Denver Colorado",
};

我想让它输出:"{ \"name\": \"John Doe\", \"age\": 29, \"location\": \"Denver Colorado,\"}"

我下面的函数不起作用,这让我想知道如何删除输出中的新行(隐藏):

function objToCompactString(obj) {
        var result = "\"{";
        Object.keys(obj).forEach(key => {
            result += `"${key}":"${obj[key]}",`;
        });

        result += "}\"";
        return result;
}

【问题讨论】:

  • 顺便说一句,您所展示的不是“JSON 对象”。那是一个javascript对象。 JSON(根据定义)是 javascript 对象的字符串表示形式,在它的默认实现中(在您尝试重写它之前)它会生成单行字符串。
  • 有趣..标题中有答案的问题

标签: javascript json stringify


【解决方案1】:

您可能想看看JSON.stringify

在你的情况下:

var obj = {
    "name": "John Doe",
    "age": 29,
    "location": "Denver Colorado",
};
var result = JSON.stringify(obj);
console.log(result);

【讨论】:

  • 傻我,我第一次尝试JSON.stringify,但它给了我多行字符串,这让我煞费苦心地重新发明轮子。哈哈。谢谢谢谢:)
  • @TonyGW stringify 的第三个参数控制字符串如何用换行符和空格显示。
猜你喜欢
  • 1970-01-01
  • 2014-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多