网站是谁做的,做外贸一般上什么网站,360推广登录,网站建设明薇通网络JSON讲解
JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级的数据交换格式#xff0c;目前使用特别 广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。 易于人阅读和编写#xff0c;同时也易于机…JSON讲解
JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级的数据交换格式目前使用特别 广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。 易于人阅读和编写同时也易于机器解析和生成并有效地提升网络传输效率。 在JavaScript 语言中一切都是对象。因此任何JavaScript 支持的类型都可以通过JSON来表示例如字符串、数字、对象、数组等。看看他的要求和语法格式: 对象表示为键值对数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 键值对是用来保存 JavaScript 对象的一种方式和JavaScript 对象的写法也大同小异键/值对组合中的键名写在前面并用双引号”包裹使用冒号:分隔然后紧接着值: {name:QinJiang}
{age:3}
{sex:男}
前后端分离时代前端和后端的数据交互用json交换格式。 理解JSON的demo
创建一个html页面定义一个JavaScript的对象我们可以将这个js对象转换为json对象也可以将json对象转换为js对象 访问这个html页面发现json对象就是普通的字符串js对象是可展开的。 Controller返回JSON数据
Jackson
Jackson应该是目前比较好的json解析工具了 当然工具不止这一个比如还有阿里巴巴的 fastjson 等等。
我们这里使用Jackson在上一篇文章环境的基础上使用它需要导入它的jar包;还有lombok依赖。 编写一个User实体类 编写一个Controller然后在方法上加ResponseBody注解这样返回的内容就不会走视图解析器而是直接返回一个字符串。 加lib添依赖配Tomcat 访问这个Controller方法的路由发现返回了一个User的普通字符串但是有乱码。 我们调用jackson的方法新建一个ObjectMapper对象调用这个对象的writeValueAsString的方法将我们创建的一个User对象转换为JSON格式的字符串并返回它。 再调用这个Conroller的方法发现返回的是一个JSON格式的字符串也有乱码。 JSON乱码处理
发现出现了乱码问题我们需要设置一下他的编码格式为utf-8以及它返回的类型。通过RequestMaping的produces属性来实现修改下代码 再次调用Controller的这个方法发现乱码问题解决。 乱码统一解决 上一种方法比较麻烦如果项目中有许多请求则每一个都要添加可以通过Spring配置统一指定这样就不用每次都去处理了! 我们可以在springmvc的配置文件上添加一段消息StringHttpMessageConverter转换配置!
在有映射器、适配器、视图解析器配置的那个springmvc-servlet.xml的那个配置文件中添加JSON乱码问题解决的配置。 RequestMapping就不用加刚才的东西了 再访问乱码问题也一样被解决。 理解Jackson的小demo
再创建一个Controller的方法创建许多User对象都加入到一个List集合中我们依然调用以前的方法可以直接将这个集合转换为JSON格式的字符串。 访问该方法看到返回结果。 关于返回时间的格式问题
新建一个时间对象用ObjectMapper对象转换为JSON对象返回默认为时间戳格式 显示出来是时间戳格式不好理解。 设置一个SimpleDateFormat的对象定义时间格式为yyyy-MM-dd HH:mm:ss再转化为JSON对象时先用这个对象的format方法嵌套一层再转换。 这种时间格式返回更加清晰易懂。 还有另外一种该法。让ObjectMapper对象的默认把时间转换成时间戳的方式关闭然后自定义一个日期的格式SimpleDateFormat对象设置日期格式将ObjectMapper对象通过setDateFormat方法设置它的日期转换格式然后正常调用这个对象的转换JSON方法加入日期对象即可。 我们把这个转换JSON的操作定义成一个JsonUtils方法类方便我们后续使用 再需要将对象转换成JSON字符串时调用这个工具类即可。 FastJson
fastjson.jar是阿里开发的一款专门用于Java开发的包可以方便的实现json对象与JavaBean对象的转换实现JavaBean对象与json字符串的转换实现json对象与json字符串的转换。实现json的转换方法很多最后的实现结果都是一样的。
导入fastjson的依赖 它的各种方法。