JSON语法和JavaScript语法分别

作者: a333661d6d6e | 来源:发表于2018-10-17 22:12 被阅读125次

JSON是独立于语言存在的,在不同的编程语言中对这种数据类型的实现不同,例如在JavaScript中使用JavaScript对象对这种数据格式进行实现,那么在java中当然是用java对象实现。
描述JSON格式数据的语法采用了JS对象字面量的表示方法,所以描述JSON的语法是js对象字面量表示法语法的一个真子集。


image.png

1、js对象的字面量表示法与JSON语法的区别(后者是前者的真子集):

<script type="text/javascript">
    // JSON语法中,名称(name)必须要用""(双引号)包裹起来。
    // 这是一个js对象,属性不加"",符合js对象的字面量表示法语法但不符合JSON语法。
 var jsObj1 = {
 name : "前端攻城小牛"
 }
 
    // JSON语法中,值(value)可以是6种数据类型,并且这6种数据类型可以互相嵌套 
    // 值(value)可以是双引号括起来的字符串(string)、数值(number)、Boolean、 null、对象(object)或者数组(array)。
    // 这是一个内部带有方法js对象,虽然属性加了"",但JSON的语法中属性的值不能是方法。
 var jsObj2 = {
 "name" : "前端攻城小牛",
 "func" : function(){
 alert("hello");
 }
 }
    // 这是一个符合JSON数据格式的js对象,是JavaScript语言中对JSON这种数据格式的实现形式,也是我们常说的"JSON对象"。
    // 这种JS对象字面量的表示方法,也就是"JSON对于其数据形式规范的语法",所以说"JSON的语法就是JS对象字面量表示法语法的一个子集"。
 var jsonObj = {
 "name" : "前端攻城小牛",
 "age" : 25,
       "remark" :{ "high" : 170 ,"address" : "beijinghaidian" }
 }
</script>

//有什么不懂欢迎加全栈开发交流群:864305860

我们知道,js对于变量的命名规则是数字、字母、下划线及$符号,属性不加引号时也符合这个规则,但要是属性中有这四种之外其它的符号如"[" 或者 "."等等,属性就必须引号来表示。
示例中的三个变量都是js对象,只是前两种不符合JSON语法。
 2、js字符串的字面量表示法与JSON语法的区别(后者是前者的真子集):

// 下面是js中符合JSON格式的字符串
// js字符串用""(双引号)括起来
// 其他的""(双引号)全部使用"\"(反斜杠)转义
var JSONStr1 = "{\"name\" : \"前端攻城小牛\"}";
// 下面的字符串不符合JSON格式,它只是一个js字符串
// 名称(name)没有使用""(双引号)括起来
var JSONStr2 = "{'name' : '前端攻城小牛'}";

JSON语法对字符串的定义:是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。
JSON独立于语言而存在,任何站在语言的角度及对象层面对他的解释都是有局限性或者是错误的。

相关文章

  • JSON语法和JavaScript语法分别

    JSON是独立于语言存在的,在不同的编程语言中对这种数据类型的实现不同,例如在JavaScript中使用JavaS...

  • JSON 语法

    JSON 语法是 JavaScript 语法的子集。 JSON 语法规则 JSON 语法是 JavaScript ...

  • json语法笔记

    *JSON语法 JSON 语法是 JavaScript 语法的子集。 *JSON 名称/值对 JSON 数据的书写...

  • golang生成JSON及解析JSON

    一、JSON解析到结构体 在介绍这部分之前先简要介绍一下Json语法 JSON 语法是 JavaScript 语法...

  • golang生成JSON及解析JSON

    一、JSON解析到结构体 在介绍这部分之前先简要介绍一下Json语法 JSON 语法是 JavaScript 语法...

  • json_encode( )和json_decode( )

    介绍【JSON】数组:JSON 语法是 JavaScript 语法的子集。JSON 数组在中括号中书写:数组可包含...

  • 2021-12-30关于json

    一、JSON 语法规则 JSON 语法是 JavaScript 对象表示语法的子集。 数据在名称/值对中 数据由逗...

  • JSON语法

    JSON语法是JavaScript语法的子集。 JSON语法规则 数据在 名称/值对中。数据由逗号分隔大括号保存...

  • javaScript系列 [05]-javaScript和JSO

    本文输出和JSON有关的以下内容❐ JSON和javaScript❐ JSON的语法介绍❐ JSON的数据类...

  • JSON

    JSON, JavaScript Object Notation, JavaScript 对象简谱。 语法 .js...

网友评论

    本文标题:JSON语法和JavaScript语法分别

    本文链接:https://www.haomeiwen.com/subject/wkddzftx.html