WEB前端 -- JSON

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

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

什么是 JSON?

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

 

注:* JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。

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

JSON 实例

以下 JSON 语法定义了 employees 对象: 3 条员工记录(对象)的数组:

{"employees":[
{"firstName":"John","lastName":"Doe"},
{"firstName":"Anna","lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"}
]}

JSON 格式化后为 JavaScript 对象

JSON 格式在语法上与创建 JavaScript 对象代码是相同的。

由于它们很相似,所以 JavaScript 程序可以很容易的将 JSON 数据转换为JavaScript 对象。

JSON 语法规则

  • 数据为 键/值 对。
  • 数据由逗号分隔。
  • 大括号保存对象
  • 方括号保存数组

JSON 数据 - 一个名称对应一个值

JSON 数据格式为 键/值 对,就像 JavaScript 对象属性。

键/值对包括字段名称(在双引号中),后面一个冒号,然后是值:

"firstName":"John"

JSON 对象

JSON 对象保存在大括号内。

就像在 JavaScript 中, 对象可以保存多个 键/值 对:

{"firstName":"John","lastName":"Doe"}

JSON 数组

JSON 数组保存在中括号内。

就像在 JavaScript 中, 数组可以包含对象:

在以上实例中,对象 "employees" 是一个数组。包含了三个对象。

"employees":[
{"firstName":"John","lastName":"Doe"},
{"firstName":"Anna","lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"}
]

每个为个对象为员工的记录(姓和名)。

 

JSON 字符串转换为 JavaScript 对象

通常我们从服务器中读取 JSON 数据,并在网页中显示数据。

简单起见,我们网页中直接设置 JSON 字符串 (你还可以阅读我们的JSON 教程):

首先,创建 JavaScript 字符串,字符串为 JSON 格式的数据:

vartext = '{ "employees" : [' +
'{"firstName":"John" , "lastName":"Doe"},' +
'{"firstName":"Anna" , "lastName":"Smith"},' +
'{"firstName":"Peter" ,"lastName":"Jones" } ]}';

然后,使用 JavaScript 内置函数 JSON.parse() 将字符串转换为JavaScript 对象:

varobj = JSON.parse(text);

最后,在你的页面中使用新的 JavaScript 对象:

<pid="demo"></p>
<script>
document.getElementById("demo").innerHTML=
obj.employees[1].firstName+ " " + obj.employees[1].lastName;
</script>

尝试一下 »

出处:http://www.runoob.com/js/js-json.html

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSON Web Tokens (JWTs)在前端的应用非常广泛。JWT是一种轻量级的安全传输机制,用于在不同系统之间安全地传输信息。它是一种基于JSON的开放标准(RFC 7519),用于在各个实体之间以可靠和安全的方式传输信息。 在前端应用中,JWTs通常用于身份验证和授权。以下是JWT在前端应用中的常见应用方式: 1. 用户身份验证:当用户登录时,服务器会生成一个包含用户信息和其他相关数据的JWT,并将其返回给客户端。客户端可以将JWT存储在本地(通常使用浏览器的本地存储,如localStorage或sessionStorage),并在后续请求中将其作为身份验证凭证发送给服务器。服务器可以验证JWT的签名,并从中提取用户信息,以确认用户的身份。 2. 跨域身份验证:当前端应用需要与多个不同域的后端服务进行交互时,可以使用JWT作为跨域身份验证解决方案。客户端在登录后获取JWT,并将其发送到其他后端服务作为身份验证凭证。后端服务可以验证JWT的签名并提取其中的信息,以确认用户的身份。 3. 授权和权限管理:JWT可以包含有关用户角色和权限的信息。在前端应用中,可以使用JWT来控制用户对不同功能和资源的访问权限。前端应用可以解析JWT并根据其中的角色和权限信息来决定显示哪些功能或资源。 4. 单点登录(Single Sign-On,SSO):JWT也可以用于实现单点登录功能。当用户在一个应用中登录后,该应用会生成一个JWT,并将其发送给身份提供者(如身份验证服务器)。其他需要用户身份验证的应用可以通过验证JWT来确认用户的身份,而无需用户再次登录。 总结起来,JWT在前端应用中可以用于用户身份验证、授权和权限管理,以及实现跨域身份验证和单点登录等功能。使用JWT可以减少服务器端的状态管理,提高系统的可扩展性和性能。然而,在使用JWT时需要注意安全性,例如使用HTTPS来传输JWT,避免将敏感信息存储在JWT中,并定期更新JWT的密钥等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值