前端之json

江枫思渺然 提交于 2020-02-29 16:47:11

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式。

    JSON在不同语言中有不同的称呼,但他的结构还是一样的,毕竟他是一种与编程语言无关的文本格式。JSON有两种结构:(1)采用‘键/值’的集合;(2)值的有序列表,即数组。如:"[{"name":"ly"},{"age":1}]"。这里我们讨论的是javascript中的JSON操作。

    自es5开始,javascript是原生支持JSON操作的。javascript提供的全局对象JSON有两个操作JSON的方法(parse(将一个符合JSON数据格式的字符串转换为javascript对象,如果字符串不符合JSON格式,会报错),stringify(将一个符合JSON数据格式的javascript对象转换为字符串,如果要转换的对象不符合JSON格式,会报错))。而且JSON这个对象只有ie8才开始有,所以会存在兼容性问题,不过还好我们公司只需兼容到ie8了,哈哈。

    在javascript中,人们常说的json对象通常是指符合json格式的javascript对象,而符合这种格式的javascript对象,自然就想到了对象字面量了。没错,通常我们从后台取得的数据是采用json格式的字符串,而我们使用JSON.parse(str)解析成一个javascript对象之后,我们就可以按照一个对象字面量的操作来进行了,那有多灵活就不用我多说了吧。

    再说说JSON的优点:(1)基于纯文本,跨平台传递极其简单;(2)Javascript原生支持,后台语言几乎全部支持;(3)轻量级数据格式,占用字符数量极少,特别适合互联网传递;(4)可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很容易识别的;(5)容易编写和解析,当然前提是你要知道数据结构。JSON的缺点当然也有,但是相对于其优点而已,我觉得完全可以接受了。

    现在前后端的交互好多都使用json格式传输数据了,作为一个有志气的前端,也不能落后啊。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!