整天使用json,却不是深入的思考过,。。。
json只是一种数据规范 java有java的json数据实现方式,js有js的json数据实现方式,php有php的json实现方式
所以json是横切语言的。用JS对象字面量的表示方法进行描述而已。
a.JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样
b.JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他;
ajax中 使用 data:{'datas':datas},对象表示为json对象就是JavaScript 对象,可以到 controller
使用 ”data:{'datas':datas}“表示为字符串 无法映射参数到controller
@PostMapping("/task") public String mth(String datas,HttpServletResponse response) { }
JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而
加快速度,
JSON是一种轻量级的数据交换格式,全称——JavaScript 对象表示法(JavaScript Object Notation)。
json对象就是JavaScript 对象
js对象不一定json对象
不同处: //这是一个js对象,属性不加"",符合js对象的字面量表示法语法但不符合JSON语法。 var jsObj1 = { name : "张三" } //这是一个内部带有方法js对象,虽然属性加了"",但JSON的语法中属性的值不能是方法。 var jsObj2 = { "name" : "张三", "func" : function(){ alert("hello"); } }
JSON独立于语言而存在:同XML一样JSON只是一种存储数据的类型,只是在不同的编程语言中对这种数据类型的实现不同,例如在JavaScript中使用JavaScript对象对这种数据格式进行实现,那么在java中当然是用java对象实现。
ajax 跨域调用设置 改动后台方法即可
@PostMapping("/task") public String method(String datas,HttpServletResponse response) { response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Allow-Methods", "POST"); response.addHeader("Access-Control-Allow-Headers:x-requested-with,", "x-requested-with,content-type"); }
引用: 简洁在复杂之后 ,望以后,生活和工作都追求简洁!!!
当你对原理了解的有够透彻,开发起来也就得心应手了,很多开发中的问题和疑惑也就迎刃而解了,而且在面对其他问题的时候也可做到触类旁通。