您的位置:首页 > Web前端 > JavaScript

JSON是什么呢

2018-03-16 14:40 141 查看
官方的解释是:JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

之前经常听说这个名称,但是都没有真正的了解过,今天在一个项目中(String jsonstr = JSONObject.toJSONString(test);String calc_sign = SignUtil.sign(jsonstr,  signCfg.getSecret(), timestr);)突然发现JSON需要转成字符,带入签名Sign中,这突然使我有了极大的兴趣,对其进行了深度学习。下面我们一起看看这个JSON到底是什么,有什么作用:第一:JSON语法规则
1:对象表示为键值对2:数据由逗号分隔3:花括号保存对象4:方括号保存数组

第二:JSON 键/值对百度上说JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 "" 包裹,使用冒号 : 分隔,然后紧接着值:
{"firstName": "Json"}
这很容易理解,等价于这条 JavaScript 语句:
{firstName : "Json"}

其实在我看来json键值对就是一种映射关系,如同我们在controller层map.put("firstNmae","json")写法,它的这种表达方式,让机器更加容易解析和生成,大大提高了信息的传输速率并且降低了资源的浪费。
第三:JSON 与 JS 对象的关系

很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

json与对象之间的转换其实也很简单,比如我在项目中遇到controller层test时的一个转换如下:

Transaction test = new Transaction();String jsonstr = JSONObject.toJSONString(test);
String calc_sign = SignUtil.sign(jsonstr,  signCfg.getSecret(), timestr);首先实例化一个对象,然后将其转化为json的string用于数据验证,这就显得简单通俗易懂。

官方文档链接如下:http://www.json.org/

(此文章存属个人见解,大神勿喷,谢谢)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json的认识