我不太清楚如何制作JSON字符串。我得到了错误,我想知道如何纠正并制作它。
这是我的JSON字符串。
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字符串,如果这是正确的术语,我希望它嵌套。所以每个司机都有一辆车或多辆车/车。因此,如果我得到1名司机,我希望看到他的详细信息和他所拥有的车辆的信息。
答案 0 :(得分:1)
您的“JSON字符串”似乎是一个javascript代码,您将在脚本标记中创建一个drivers
javascript对象,其中包含一个名为driver
的属性,该属性是其他对象的数组。要成为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属性名称需要用引号括起来。大多数解析器都可以工作,如果不是,但最好尽可能正确。您可以使用jsonlint上的在线工具来检查有效的JSON。
答案 1 :(得分:0)
不,这是一个Javascript对象,可以使用JSON.stringify(object)
转换为JSON字符串。如果您尝试通过Javascript访问它,您可以完全跳过JSON并只使用该对象。如果你想测试JSON字符串是否合适,请使用jsonlint.com。
答案 2 :(得分:0)
1)它是一个javascript对象,而不是JSON字符串。
2)在Bob和Rob的年龄过后,你会错过逗号。玛丽亚虽然很好。