我应该使用字符串来分隔JSON中的对象名称吗
Should I be using strings to delimit the object names in JSON?
我看过一个教程,其中包含以下JSON:
{
books:[{title:"frankenstein"},{title:"Moby Dick"}]
}
当我把上面的内容放到js.bin中时,我得到一个错误,说它需要一个字符串并看到书籍。所以我把它改成下面的,它有效。。。
{
"books":[{"title":"frankenstein"},{"title":"Moby Dick"}]
}
但是,如果我将第一个代码片段从上面改为下面,它就可以工作了。
var p = {
books:[{title:"frankenstein"},{title:"Moby Dick"}]
};
我想知道的是:
1) 你真的必须在JSON中为变量名使用语音标记吗(如果你这样做,我看到的例子是不正确的)
2) JSON和javascript对象表示法之间有关系吗?
你真的必须在JSON中为变量名使用语音标记吗(如果你这样做,我看到的例子是不正确的)。
是的。
JSON和javascript对象表示法之间有关系吗?
是的。JSON是JavaScript Object Notation的缩写(但我不认为这是你的意思)。
JSON和JavaScript之间的关系是,JSON(几乎)是用于在JavaScript中创建文字的语法的子集。
JSON被严重简化,这使得手工制作稍微不那么方便(不要手工制作JSON,使用库!),但使规范更小,解析器更容易编写。
大多数简化都是由于删除了例外情况。
例如:
在JavaScript中,对象文字键可以是标识符(然后在此处插入关于JS中有效标识符的详细解释)或字符串。在JSON中,对象键必须是字符串。
在JavaScript中,字符串可以用单引号或双引号分隔。在JSON中,字符串必须用双引号分隔。
JSON要求属性名称用双引号引起来。在JavaScript中,对象文字表达式不需要这样的引用。在这方面,相比之下,JSON是严格的。如果属性名称采用有效标识符的形式,并且仅当它们不是保留字时,JavaScript才允许对属性名称进行取消引号。
JSON肯定是从JavaScript中的对象字面语法派生而来的,但(主要是为了使解析更简单)它更严格。例如,JSON中的属性值不能是函数。
如果您将JSON作为数据交换格式,那么是的,名称需要正确引用。
如果您将"JSON"作为JavaScript中的对象语法文字,那么不需要,除非它们是JavaScript中的关键字,否则不需要转义它们。
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- 用javascript从列表对象(JSON的)构建diffrent选项卡
- php请求带有多个对象json-jquery
- AngularJS,过滤器:如何将一个巨大的对象(JSON)变成一个数组
- 动态属性对象 - JSON
- JavaScript 对象 (JSON) 中的动态设置值
- 从数组查询获取对象 JSON 值时出错
- 使用jQuerygetJSON将多维对象JSON转换为HTML
- 需要从 Angular JS 应用程序中的另一个 JSON 对象数组填充 JSON 数组的每个对象 JSON 对象数组
- 嵌套对象JSON排序JavaScript
- PHP在MySQL中保存来自Javascript的对象"JSON.stringify"通过Ajax
- 将JavaScript对象/ JSON转换为PHP数组
- JSON对象.JSON对象内部
- 访问对象的对象- JSON API
- 数组到对象JSON
- Message":"传入的无效对象(JSON数据格式化问题)