JSON与JavaScript对象关系及语法规则详解

 更新时间:2023年06月21日 11:13:32   作者:LRachel  
这篇文章主要为大家介绍了JSON与JavaScript对象关系及语法规则详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

JSON

JSON 英文全称 JavaScript Object Notation,JSON 是一种轻量级的数据交换格式。JSON是独立的语言 ,易于理解。

JSON 格式仅仅是一个文本。文本可以被任何编程语言读取及作为数据格式传递。

JSON 是用于存储和传输数据的格式。

JSON 通常用于服务端向网页传递数据 。

语法规则

  • 数据为 键/值 对
  • 数据由逗号分隔,最后一个不加逗号
  • 大括号保存对象
  • 方括号保存数组

JSON数据

一个名称对应一个值,数据格式为键/值 对,就像JavaScript对象属性。
键/值 对 包括字段名称(在双引号中),后面一个冒号,然后是值:

"name":"Runoob"

JSON数组

JSON 数组保存在中括号[ ]内。
就像在 JavaScript 中, 数组可以包含对象,最后一个不需要加逗号,如下:

对象 "sites" 是一个数组,包含了三个对象。
每个对象为站点的信息(网站名和网站地址)。

{"sites":[
    {"name":"简书", "url":"www.jianshu.com"}, 
    {"name":"Google", "url":"www.google.com"},
    {"name":" 淘宝", "url":"www.taobao.com"}
]}

JSON实例

 { "images" : [
    {
      "size" : "20x20",
      "idiom" : "ios",
      "scale" : "1x",
      "filename" : "icon-20X20.png"
    },
    {
      "size" : "20x20",
      "idiom" : "ios",
      "scale" : "2x",
      "filename" : "icon-20X20@2x.png"
    }
]}

字符串和JS 对象格式转换

函数作用
JSON.parse()用于将一个 JSON 字符串转换为 JavaScript 对象。
JSON.stringify()用于将 JavaScript 值转换为 JSON 字符串。

JSON.parse()

JSON.stringify()

实例

我们从服务器中读取 JSON 数据,并在网页中显示第2条数据,也就是sites[1]的数据。

/**创建 JavaScript 字符串,字符串为 JSON 格式的数据**/
var text = '{ "sites" : [' +
    '{ "name":"Runoob" , "url":"www.runoob.com" },' +
    '{ "name":"Google" , "url":"www.google.com" },' +
    '{ "name":"Taobao" , "url":"www.taobao.com" } ]}';
 /**使用 JavaScript 内置函数 JSON.parse() 将字符串转换为 JavaScript 对象:**/   
obj = JSON.parse(text);
/**在你的页面中使用新的 JavaScript 对象,从服务器中读取 JSON 数据,并在网页中显示数据**/
document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[1].url;

JSON 与JS 对象的关系

简单的理解:

JSON 是 JS 对象的字符串表示法。

它使用文本表示一个 JS 对象的信息,JSON 本质是一个字符串。

var obj = {a: 'Hello', b: 'World'}; //这是一个js对象,注意js对象的键名的引号可加可不加,看个人习惯,最好是加上
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串

JSON.parse() 就是字符串转 js 对象, JSON.stringify()就是 js 对象转字符串,它们前提是要 json 格式才有意义。

var obj = JSON.parse('{"a": "Hello", "b": "World"}'); 
//结果是 {a: 'Hello', b: 'World'}  一个对象
var json = JSON.stringify({a: 'Hello', b: 'World'}); 
//结果是 '{"a": "Hello", "b": "World"}'  一个JSON格式的字符串

以上就是JSON与JavaScript对象关系及语法规则详解的详细内容,更多关于JSON JavaScript对象关系的资料请关注脚本之家其它相关文章!

相关文章

  • JS数组在内存中的效率问题浅析

    JS数组在内存中的效率问题浅析

    用js有很久了,但都没有深究过js的数组形式,下面这篇文章主要给大家介绍了关于JS数组在内存中的效率问题,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • JavaScript如何禁止Backspace键

    JavaScript如何禁止Backspace键

    这篇文章主要介绍了JavaScript如何禁止Backspace键,可以帮助大家解决“只读输入框在IE下按下Backspace键回退到前一个页面”的问题,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • JavaScript实现鼠标经过表格某行时此行变色

    JavaScript实现鼠标经过表格某行时此行变色

    这篇文章主要为大家详细介绍了JavaScript实现鼠标经过表格某行时此行变色,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 微信小程序开发之toast等弹框提示使用教程

    微信小程序开发之toast等弹框提示使用教程

    弹框提示是我们在开发中经常用的一个效果,下面这篇文章主要给大家介绍了微信小程序开发之toast等弹框提示实现的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • JS动态修改iframe内嵌网页地址的方法

    JS动态修改iframe内嵌网页地址的方法

    这篇文章主要介绍了JS动态修改iframe内嵌网页地址的方法,涉及javascript动态修改iframe中src属性的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • 实例讲解JS中setTimeout()的用法

    实例讲解JS中setTimeout()的用法

    这篇文章主要介绍了JS中setTimeout()的用法,setTimeout()是属于window的method,但我们都是略去window这顶层对象名称,这是用来设定一个时间,时间到了,就会执行一个指定的method,需要深入了解的朋友可以参考下
    2016-01-01
  • javascript之水平横向滚动歌词同步的应用

    javascript之水平横向滚动歌词同步的应用

    javascript之水平横向滚动歌词同步的应用...
    2007-05-05
  • js中int和string数据类型互相转化实例

    js中int和string数据类型互相转化实例

    在本篇文章里小编给大家分享了关于js中int和string数据类型互相转化实例和代码,需要的朋友们学习下。
    2019-01-01
  • js设置组合快捷键/tabindex功能的方法

    js设置组合快捷键/tabindex功能的方法

    本文主要介绍用js设置tabindex功能和js设置组合快捷键的方法,很简单,这样可以增强用户体验,方法就在下面
    2013-11-11
  • 理解Javascript的call、apply

    理解Javascript的call、apply

    这篇文章主要介绍了Javascript的call、apply,其作用基本相同,但也有略微的区别,需要的朋友可以参考下
    2015-12-12

最新评论