Javascript 这是正确的JSON字符串吗?
我不太清楚如何生成JSON字符串。我得到了错误,我想找出如何纠正,并使它 这是我的JSON字符串:Javascript 这是正确的JSON字符串吗?,javascript,json,angularjs,Javascript,Json,Angularjs,我不太清楚如何生成JSON字符串。我得到了错误,我想找出如何纠正,并使它 这是我的JSON字符串: var drivers = { "driver" : [ { "id" : 1, "name" : "Bob", "age" : "34" "car" : [ { "make" : "BMW", "model" : "3.20",
var drivers = { "driver" : [
{
"id" : 1,
"name" : "Bob",
"age" : "34"
"car" : [
{
"make" : "BMW",
"model" : "3.20",
"colour" : "Silver"
}
]
},
{
"id" : 2,
"name" : "Rob",
"age" : "22"
"car" : [
{
"make" : "Peugeot",
"model" : "306",
"colour" : "Blue"
}
]
},
{
"id" : 3,
"name" : "Maria",
"age" : "23",
"car" : [
{
"make" : "Mazda",
"model" : "3",
"colour" : "Red"
}
]
}]};
这是get方法:
var driverData = JSON.parse(drivers);
function getDriverData() {
return driverData;
}
return {
getDriverData: getDriverData
};
在这个控制器中,我尝试获取它,以便查看它是否工作:
var drivers = myDriveApi.getDriverData();
console.log(driverData);
请纠正我并解释如何生成JSON字符串,如果这是正确的术语,我希望它嵌套。所以每个司机都有一辆车,或者多辆车。因此,如果我有一个司机,我想查看他的详细信息和他在自有车辆上的信息。不,这是一个JavaScript对象,可以使用
JSON.stringify(object)
将其转换为JSON字符串
如果您试图通过JavaScript访问它,那么最好跳过JSON,只使用该对象。如果要测试JSON字符串是否正确,请使用jsonlint.com
drivers
JavaScript对象,该对象具有一个名为drivers
的属性,该属性是其他对象的数组。要成为JSON,您需要删除var drivers=
和末尾的分号,只留下创建该对象所需的变量
例如,假设您有一个“person”变量,它是一个具有“firstName”和“lastName”属性的对象。这是您将放入脚本中以创建该变量的代码:
var person = { firstName: "Jason", lastName: "Goemaat" };
字符串,甚至JSON字符串都用单引号或双引号包围的脚本表示。要查看该对象的JSON的字符串值,可以执行以下操作:
var json = JSON.stringify(person);
这将为您提供一个有效的JSON字符串,该字符串将在控制台中显示:
{"firstName":"Jason","lastName":"Goemaat"}
要直接设置变量,需要将其括在单引号或双引号中,但如果字符串包含这些引号,则需要对其进行转义。因为它只包含双引号,所以我将用单引号将其括起来,将其分配给脚本中的一个变量,然后将其解析为一个对象
var json = '{"firstName":"Jason","lastName":"Goemaat"}';
var person = JSON.parse(json);
JSON属性名需要用引号括起来。如果不是,大多数解析器都可以工作,但最好尽可能正确。您可以使用上的在线工具检查有效的JSON。尝试使用:)如果它是一个要启动的对象,为什么要解析它?这不是一个“JSON字符串”,而是一个JavaScript对象。您有什么问题?多个位置的hanks中“age”和“car”之间缺少逗号,这对帮助我理解JSON有很大帮助。特别是在控制台的帮助下,能够将js对象转换为JSON,这真是太神奇了。