繁体   English   中英

JSON.stringify() 在值上带有单引号,键上没有引号

[英]JSON.stringify() with single quotes on value and no quotes on key

在 Javascript 中:打印一个 json 对象

var myObject = new Object;
myObject.type = "Fiat";
myObject.model = "500";
myObject.color = "White";

以下格式

{ 类型:'菲亚特',型号:'500',颜色:'白色'}

在 console.log 中。

但实际结果

{"type":"Fiat","model":"500","color":"White"}

挑战在这里:

hackerrank 打印 JSON 对象

function printObjectProperty(myObject) {
  //Write your code here
console.log(JSON.stringify(myObject)); 
 //OR
console.log("{ type: '"+myObject.type+"', model: '"+myObject.model+"', color: '"+myObject.color+"'}"); //OR THERE COULD BE A BETTER GENERIC SOLUTION
}

您可以使用以下代码:

var json = JSON.stringify(myObject);  // {"type":"Fiat","model":"500","color":"White"}
console.log(json);
var unquoted = json.replace(/"([^"]+)":/g, '$1:');
console.log(unquoted);  // {type:"Fiat",model:"500",color:"White"}
var result = unquoted.replaceAll("\"", "'");
console.log(result); // {type:'Fiat',model:'500',color:'White'}

JSON.stringify() 值上没有单引号,键上没有引号

你不能。 按设计。

JSON 规范要求所有属性的名称用双引号括起来并解析为 JSON 字符串:

一、简介

[...]
对象是零个或多个名称/值对的无序集合,其中名称是字符串,值是字符串、数字、布尔值、空值、对象或数组。

4. 对象

对象结构表示为一对大括号,围绕零个或多个名称/值对(或成员)。 名称是一个字符串 每个名称后面都有一个冒号,将名称与值分开。 单个逗号将值与以下名称分开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM