我需要在我的应用程序中读取JSON数据。问题是我从服务获得的JSON数据包括“ - ”,当我试图阅读它时,我得到“未捕获的ReferenceError:人未被定义”。 e.g。
我有JSON对象 -
var JSONObject ={
"name-person":"John Johnson",
"street":"Oslo West 16",
"age":33,
"phone":"555 1234567"};
当我在控制台日志语句下面写的时候我得到“未捕获的ReferenceError:未定义的人”错误
console.log(JSONObject.name-person);
有人可以帮助我如何阅读包含“ - ”的数据吗?我无法控制服务和数据库,所以修改源数据不在我手中。
答案 0 :(得分:2)
尝试这种方式:
JSONObject["name-person"]
JSON是一个对象,由键值对组成,对象键可以包含任何字符,甚至可以包含保留关键字(如for,function,if ...),以便在按键时访问对象项它没有遵守有效标识符(http://coderkeen.com/old/articles/identifiers-en.html)的规则,你必须使用[]。
这是我正在谈论的一个有趣的例子:
var strangeObject = {" ...this is a TOTALLY valid key!!! ": 123,
"function": "what a weird key..."};
console.log(strangeObject [" ...this is a TOTALLY valid key!!! "],
strangeObject ["function"]);
答案 1 :(得分:1)
使用[]
语法访问该属性。
JSONObject['name-person']