JavaScript--JSON基础05

本文介绍了JSON的基本概念,作为JavaScript对象表示法,它具有自我描述性和层级结构,广泛用于数据交换。JSON语法包括名称/值对,支持对象和数组。为了安全地将JSON文本转换为JavaScript对象,推荐使用JSON.parse(),而JavaScript对象可以通过JSON.stringify()转化为JSON字符串。
摘要由CSDN通过智能技术生成
                                  JavaScript--JSON基础05
开发工具与关键技术:Visual Studio2015 与JSON   作者:北道海棠       撰写时间:2019.04.26

下面我们来简单的了解一下JSON是什么,具体有什么作用,它的语法是怎样的。
JavaScript对象表示法(JavaScript Object Notation)就是JSON。JSON是纯文本,具有“自我描述性”和层级结构(值中存在值),可通过JavaScript进行解析,数据可使用AJAX进行传输,是存储和轻量级文本数据交换的语法,独立于语言 ,具有自我描述性,更易理解; JSON 使用 JavaScript 语法来描述数据对象,但仍然独立于语言和平台。 JSON 的解析器和 JSON 库支持许多不同的编程语言,对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用,为我们提供了更加简洁的方法。
一.JSON 语法
(1)JSON 语法是 JavaScript 对象表示法语法的子集。

	数据在名称/值对中 (键值对形式)   	数据由逗号“ ,” 分隔     
	花括号 “{}” 保存对象            	方括号 “[] ”保存数组

(2)JSON 名称/值对
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值。
(3)JSON 值
JSON 值可以是:

	数字(整数或浮点数)         字符串(在双引号 "" 中)
	逻辑值(true 或 false)     数组(在方括号中) 
    对象(在花括号中)           空 null

(4)JSON 对象:对象在花括号中可以包含多个名称/值对(键值对)。
(5)JSON 数组:数组在方括号中可包含多个对象。
(6)JSON 使用 JavaScript 语法,因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON

例:              var employees = [                  //[ ]数组
          { "firstNun": "123", "lastNun": "456" },  //{ }对象
          { "Name": "George"},    //等价于JavaScript 语句:{Name="George"}
           { "firstName": "Thomas", "lastName": "Carter"}
                 ];
         //获取
    console.log(employees[0].lastName);//获取[]数组,点“.”后面获取对象的数据

二.把JSON文本转换为JavaScript对象
JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。
有两种转换方法:
第一种是通过eval()解析为JavaScript 代码,具体如下

 //JSON字符串
var strJson = '[{ "firstName": "Bill", "lastName": "Gates" },
{ "firstName": "George", "lastName": "Bush" }, 
{ "firstName": "Thomas", "lastName": "Carter" }]';
var obj = eval("(" + strJson + ")");
              console.log(obj[0].lastName);

由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象,使用时必须把文本包围在括号中,这样才能避免语法错误。由于eval() 函数可编译并执行任何 JavaScript 代码,这隐藏了一个潜在的安全问题,所以就有了第二种方法,第二种方法为通过JSON.parse()解析为JavaScript 代码,这种方法更加安全,一般推荐使用这种方法。

 var obj = JSON.parse (strJson);

既然JSON字符串可以转化为JavaScript的对象,那么JavaScript对象是不是相对来说也可以通过某种方法来转化为JSON字符串呢?没错通过JSON.stringify() 方法可将 JavaScript 值转换为 JSON 字符串,具体如下图:(图片来源于老师授课文档)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值