当前位置: 首页 > wzjs >正文

网站建设 资质seo网课培训

网站建设 资质,seo网课培训,wordpress会员中心,番禺 大石网站建设9. JSON 9.1 简介 JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级数据交换格式,采用独立于编程语言的文本格式储存和表示数据,易于机器解析和生成,提升网络传输效率。 任何 JavaScript 支持…

9. JSON

9.1 简介

JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级数据交换格式,采用独立于编程语言的文本格式储存和表示数据,易于机器解析和生成,提升网络传输效率。

任何 JavaScript 支持的数据类型都可以通过 JSON 表示,例如字符串、数字、对象、数组等。

JSON 键值对保存 JavaScript 对象,键:值 对组合中的键名在前用双引号 "" 包裹,值在后,两者使用冒号 : 分隔。

{"name": "弗罗多"}
{"age": "50"}
{"sex": "男"}
  • JSON 是 JavaScript 对象的字符串表示法,使用文本表示一个 JS 对象,本质是一个字符串。

    var obj = {a: 'Hello', "b": 'World'}; // JS 对象
    var json = '{"a": "Hello", "b": "World"}'; // JSON 字符串
    
  • 使用 JSON.stringify() 方法可将 JavaScript 对象转换为JSON字符串。

    var json = JSON.stringify({a: 'Hello', b: 'World'});
    // json = '{"a": "Hello", "b": "World"}'
    
  • 使用 JSON.parse() 方法可将 JSON 字符串转换为 JS 对象。

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

9.2 Controller 返回 JSON

(1) jackson

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

注意:新导入依赖时发布的lib目录下引入依赖

(2) 中文乱码

  • @RequestMapping 注解 produces 属性解决中文乱码
@Controller
public class UserController {// produces 设置编码格式,解决中文乱码@RequestMapping(value = "/testResJson", produces = "application/json;charset=utf-8")// 不被视图解析器解析,返回JSON字符串@ResponseBodypublic String testResJson() throws JsonProcessingException {User user = new User("弗罗多", 50, "男");ObjectMapper mapper = new ObjectMapper();// 将对象转换为 JSONreturn mapper.writeValueAsString(user);}
}
  • Spring MVC 配置解决中文乱码问题
<!--spring-servlet.xml-->
<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>
  • 测试
@Controller
public class UserController {// produces 设置编码格式,解决乱码@RequestMapping(value = "/testResJson")// 不被视图解析器解析,返回字符串@ResponseBodypublic String testResJson() throws JsonProcessingException {User user = new User("弗罗多", 50, "男");ObjectMapper mapper = new ObjectMapper();return mapper.writeValueAsString(user);}@RequestMapping(value = "/testResMoreJson")@ResponseBodypublic String testResMoreJson() throws JsonProcessingException {List<User> userList = new ArrayList<User>();User frodo = new User("弗罗多", 50, "男");User sam = new User("山姆", 50, "男");User aragon = new User("阿拉贡", 50, "男");userList.add(frodo);userList.add(sam);userList.add(aragon);ObjectMapper mapper = new ObjectMapper();return mapper.writeValueAsString(userList);}@RequestMapping("/testResTimeJson")@ResponseBodypublic String testResTimeJson() throws JsonProcessingException {ObjectMapper mapper = new ObjectMapper();//不使用时间戳的方式mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);//自定义日期格式对象SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM-dd HH:dd:ss");//指定日期格式mapper.setDateFormat(simpleDate);Date date = new Date();// java 时间格式控制// String formatDate = simpleDate.format(date);return  mapper.writeValueAsString(date);}
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 抽取为工具类
public class JsonUtil {public static String getJson(Object object) {return getJson(object,"yyyy-MM-dd HH:mm:ss");}public static String getJson(Object object,String dateFormat) {ObjectMapper mapper = new ObjectMapper();//不使用时间差的方式mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);//自定义日期格式对象SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);//指定日期格式mapper.setDateFormat(sdf);try {return mapper.writeValueAsString(object);} catch (JsonProcessingException e) {e.printStackTrace();}return null;}}

(3) FastJson

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.70</version>
</dependency>
@RequestMapping(value = "/testFastJson")
@ResponseBody
public String testFastJson() throws JsonProcessingException {List<User> userList = new ArrayList<User>();User frodo = new User("弗罗多", 50, "男");User sam = new User("山姆", 50, "男");User aragon = new User("阿拉贡", 50, "男");userList.add(frodo);userList.add(sam);userList.add(aragon);System.out.println("*******Java对象 转 JSON字符串*******");String str1 = JSON.toJSONString(userList);System.out.println("JSON.toJSONString(list)==>"+str1);String str2 = JSON.toJSONString(frodo);System.out.println("JSON.toJSONString(frodo)==>"+str2);System.out.println("\n****** JSON字符串 转 Java对象*******");User jp_user1=JSON.parseObject(str2,User.class);System.out.println("JSON.parseObject(str2,User.class)==>"+jp_user1);System.out.println("\n****** Java对象 转 JSON对象 ******");JSONObject jsonObject1 = (JSONObject) JSON.toJSON(sam);System.out.println("(JSONObject) JSON.toJSON(sam)==>"+jsonObject1.getString("name"));System.out.println("\n****** JSON对象 转 Java对象 ******");User to_java_user = JSON.toJavaObject(jsonObject1, User.class);System.out.println("JSON.toJavaObject(jsonObject1, User.class)==>"+to_java_user);return JSON.toJSONString(userList);
}

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/wzjs/184851.html

相关文章:

  • 建设网站项目计划书手机百度seo怎么优化
  • 企业电子商务网站建设毕业论文网络推广一个月的收入
  • 上海自适应网站设计百度网盘下载速度
  • 网站建设图文教程爱站网 关键词挖掘工具
  • 网站建设需要提供什么东西天堂网长尾关键词挖掘网站
  • 怎么优化网站内容外贸网站建设推广
  • 外贸网建站宁海关键词优化怎么优化
  • 做淘宝的网站高中同步测控优化设计答案
  • 做印量调查的网站网络营销手段有哪些
  • 合肥知名网站推广竞价排名机制
  • h5 php mysql网站开发百度推广官方电话
  • 怎么建设自己淘宝网站首页宁波seo企业推广
  • 网站链接怎么做标记郑州seo教程
  • 做二代身份证网站网址导航浏览器下载
  • 自己注册了个域名想做一个网站吗电脑培训班速成班
  • 做票据业务的p2p网站关键词优化排名费用
  • 潍坊手机网站制作谷歌seo什么意思
  • 崇信县网站留言电商平台推广费用大概要多少
  • 做网站开封如何做一个网页
  • 久治县网站建设公司广告推销
  • 云南网站建设首选公司sem是什么的英文缩写
  • wordpress网站空间什么样的人适合做策划
  • 如何做Google外贸网站站长交流平台
  • 做企业网站价格国家大事新闻近三天
  • 谁能给个网址免费的银川网站seo
  • 个人网站制作模板图片松原新闻头条
  • 网站做移动端seo建站是什么意思
  • 中国林业工程建设协会官方网站山东服务好的seo
  • 公司网站的建站要点百度推广登录平台怎么收费
  • 厦门市建设区网站首页电商运营助理