SpringMVC之JSON

八、JSON

目录:JSON简介、Controller返回JSON数据、FastJson

1.JSON简介

1)简介
JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级的数据交换格式,目前使用特别广 泛。
采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
在JavaScript语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语法格式:、对象表示为键值对,数据由逗号分隔、花括号保存对象、方括号保存数组。
JSON键值对是用来保存 JavaScript 对象的一种方式,和 JavaScript 对象的写法也大同小异,键值对组合中的键名写在前面并用双引号""包裹,使用冒号:分隔,然后紧接着值。

{
   "name": "Ping"} 
{
   "age": "20"} 
{
   "sex": "男"}

JSON和JavaScript对象的关系:JSON是JavaScript对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。

var obj = {
   a: 'Hello', b: 'World'}; //这是一个对象,键名是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}'; //这是一个JSON字符串,本质就是一个字符串

2)JSON和JavaScript对象互转
①要实现从JSON字符串转换为JavaScript对象,使用JSON.parse()方法。

var obj = JSON.parse('{"a": "Hello", "b": "World"}');

结果:{a: ‘Hello’, b: ‘World’}
②要实现从JavaScript对象转换为JSON字符串,使用JSON.stringify()方法。

var json = JSON.stringify({
   a: 'Hello', b: 'World'});

结果:‘{“a”: “Hello”, “b”: “World”}’
3)代码测试
①新建一个module,添加web app的支持。
②在web目录下新建一个json.html,编写测试的内容。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>JSON</title>
  </head>
  <body>
    <script type="text/javascript">
      //编写一个js的对象
      var user = {
      name:"Ping", age:20, sex:"男" };
      //将js对象转换成json字符串
      var str = JSON.stringify(user);
      console.log(str);
      //将json字符串转换为js对象
      var user2 = JSON.parse(str);
      console.log(user2.name,user2.age,user2.sex);
    </script>
  </body>
</html>

③在IDEA中使用浏览器打开,查看控制台输出。
结果
{“name”:“Ping”, “age:20”, “sex”:“男” }
“Ping” 20 “男”

2.Controller返回JSON数据

Jackson应该是目前比较好的json解析工具了。当然工具不止这一个,比如还有阿里巴巴的fastjson等等。
1)代码实现
①这里使用Jackson,使用它需要导入它的jar包。

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.12.4</version>
</dependency>

②配置SpringMVC需要的配置。
Ⅰweb.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
                  version="4.0">
<!--注册servlet-->
  <servlet>
    <servlet-name>SpringMVC</servlet-name>
    <servlet- class>org.springframework.web.servlet.DispatcherServlet</servlet-class
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值