什么是JSON
JSON(javaScript Object Notation,js对象简谱)是一种轻量级的数据交互格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立与编程语言的文本格式来存储和表示数据。
在JavaScript语言中,一切皆对象。所以任何JavaScript所支持的类型都可以通过JSON来表示。
优点
- 轻量级。
- json格式既能考虑到前端对象的特点,又能兼顾后台对象信息的特点。
- json能被前端直接识别并解析成对象。
- json是JQuery形式实现Ajax默认前后端传递数据的格式。
语法格式
对象表示为键值对,数据逗号隔开;
花括号保存对象
方括号保存数组
JavaScript对象和JSON区别
json是js对象的字符串表达法,它使用文本表示一个js对象的信息,其实本质就是一个字符串
//这是一个对象,键名也是可以用双引号包裹
var obj = {a:"Hello",b:"world"};
//这个是一个json字符串
var json = {"a":"Hello","b":"world"};
JSON和JS对象互转
要实现从JSON字符串转成JS对象,要使用JSON.parse()
方法。
要实现从JS对象转换成JSON字符串,要使用JSON.stringify()
方法。
解决JSON乱码问题
springmvc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
https://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:component-scan base-package="com.controller" />
<!--过滤静态资源-->
<mvc:default-servlet-handler />
<!--JSON乱码-->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" />
</bean>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
<property name="failOnEmptyBeans" value="false" />
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp" />
</bean>
</beans>