在Javascript中:打印json对象
var myObject = new Object;
myObject.type = "Fiat";
myObject.model = "500";
myObject.color = "White";
采用以下格式
{类型:“菲亚特”,型号:“ 500”,颜色:“白色”}
在console.log中。
但实际结果
{“类型”:“菲亚特”,“型号”:“ 500”,“颜色”:“白色”}
挑战在这里:
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
}
答案 0 :(得分:2)
JSON.stringify(),值不带单引号,键不带引号
不能。通过设计。
The JSON specification要求将所有属性的名称括在双引号中并解析为JSON字符串:
1。简介
[...]
对象是零个或多个名称/值对的无序集合,其中名称是字符串,值是字符串,数字,布尔值,空值,对象或数组。
4。对象
一个对象结构被表示为一对大括号,包围着零个或多个名称/值对(或成员)。 名称是字符串。每个名称后都有一个冒号,将名称与值分开。单个逗号将值与后面的名称分开。
答案 1 :(得分:2)
您可以使用以下代码:
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'}