在 Javascript 中:打印 json 对象
var myObject = new Object;
myObject.type = "Fiat";
myObject.model = "500";
myObject.color = "White";
以下格式
{ 类型:'菲亚特',型号:'500',颜色:'白色' }
在 console.log 中。
但实际结果
{"type":"菲亚特","model":"500","color":"白色"}
挑战就在这里:
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 字符串:
1.简介
[...]
对象是零个或多个名称/值对的无序集合,其中名称是字符串,值是字符串、数字、布尔值、null、对象或数组。
4.对象
对象结构表示为一对围绕零个或多个名称/值对(或成员)的大括号。 名称是一个字符串。 每个名称后面都有一个冒号,将名称与值分开。 单个逗号将值与后面的名称分隔开。