-
8th,ABAP,Ada,AdvPL,ASP,AWK,Bash,BlitzMax,C,C++,C#,Ciao,Clojure,Cobol,ColdFusion,
-
D,Dart,Delphi,E,Fantom,FileMaker,Fortran,Go,Groovy,Haskell,Java,JavaScript,LabVIEW,Lisp,LiveCode,LotusScript,LPC,Lua
-
M,Matlab,Net.Data,Nim,Objective C,OCaml,PascalScript,Perl,Photoshop,PHP,PicoLisp,Pike,PL/SQL,PowerShell,PureBasic,Puredata,Python,
-
R,Racket,Rebol,RPG,Rust,Ruby,Scheme,Squeak,Symbian,Tcl,Visual Basic,Visual FoxPro
json与ajax
-
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术;
-
虽然 Ajax 先出来了,但是目前前后端的ajax通讯几乎都是json格式的了。
json与xml
- JSON 和 XML的对比
1. 可读性: JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
2. 可扩展性: XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
3. 编码难度: XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。其实手工拼json其实也是个有挑战的活儿
4. 解码难度: XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
5. 流行度: XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。
json与xml互相转换
JSON的格式必须是数组或者对象,其属性支持一下类型:
-
boolean: true, false
-
number: 0, 1, 2, 3
-
string: “abc”
-
object: null, {}, {“a”: “b”}
-
array: [], [1, 2]
严格的语法约束
-
不能有ascii之外的字符,汉字应使用”\u6c49”格式;
-
然而在utf-8流行的时代,汉字不编码已不是啥大问题了;
-
不能有注释,行注释与块注释都不可以;
-
字符串中不能有TAB,使用”\t”表示;
-
对象中的所有的key都必须添加双引号,所有的字符串类型的value也都必须是双引号格式的;
json与js
-
因为JSON源于JS,所以JSON在JS中具有得天独厚的优势;
-
因为JS是web环境下B端开发语言的不二之选,所以JSON在WEB中大行其道;
-
优势:
1. JS的语法子集,合法的JSON代码在JS中也是合法的JS代码,内嵌JSON传输随处可见,jsonp的原理便是基于此前提的;
2. 解析JSON数据的成本足够小,eval,json.js, JSON.parse(str)
3. 各种封装库直接透传json格式,导致json诞生之后迅速取代xml在数据传输中的地位;
4. JSON序列化在JS中也非常容易,json.js,JSON.stringify(json/*, null, "\t"*/);
eval解析json问题:
var str = “{“name”:“value”}”;
// 方法1
var json = eval(“(” + str + “)”); // 存在诸如 XSS 攻击风险
// 方法2
var json;
eval("json = " + str);
JSON在其他语言中的序列化问题
-
这里不说解析(反序列化),只要是”合法的”JSON数据,解析库使用的正确,并且二者相匹配,不应该有问题;
-
关于格式化问题:格式化是为了方便调试,生产环境中,应避免使用;
-
nodejs: 和浏览器中基本一致;
-
PHP: json_encode,json_decode(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
-
Ruby:
@json = @data.to_json
,@data = JSON.parse(json)
-
Java:
-
JSON-java: JSONXXX.fromObject(str), obj.toString()
JSONObject jsonObj = JSONObject.fromObject(jsonString);
JSONArray jsonArr = JSONArray.fromObject(jsonString);
- google-gson: gson.toJson, gson.fromJson
JSON与其他语言之间的类型对应关系
| json | js | php | ruby | java |
| — | — | — | — | — |
| boolean | boolean | boolean | true,false | boolean |
| number | number | integer, float | Integer, Float | int, float, double |
| string | string | string | String | String |
| array | Array | Array | Array | [] |
| object | Object | Array | Hash | Object(from class) |
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!