1、什么是数据交互格式?

  就是客户端和服务端进行信息传输的格式(xml和json),双方约定用什么格式进行传输,然后解析得到自己想要的值

  xml扩展标记语言,属于重量级(第一占宽带、第二解析难)

  json属于轻量级的数据交互格式(不占宽带,解析很简单)

2、xml和json优缺点

  xml优点:格式统一,符合标准;容易与其它系统进行远程交互,数据共享比较方便

  xml缺点:xml文件庞大,文件格式复杂,传输占宽带;

        服务器和客户短需要话费大量代码来解析xml,导致服务器和客户端代码变得异常复杂且不易维护;

        客户端不同浏览器之间解析xml的方式不一致,需要重复编写很多代码;

        服务器和客户端解析xml花费很多的资源和时间

  json优点:数据格式比较简单,易于读写,格式都是压缩的,占用宽带小;

       易于解析;

       支持多种语言,便于服务器的解析;

       fastjson和jackson可以将json数据和对象互转

       json格式能直接为服务器代码使用,大大简化了服务器和客户端的代码开发量,并且易于维护

  json缺点:json格式目前在Web Service中推广还属于初级阶段

3、创建json格式数据

package com.cppdy;

import java.util.ArrayList;
import java.util.List; import com.alibaba.fastjson.JSONObject; public class JsonTest { public static void main(String[] args) {
JSONObject contry=new JSONObject();
JSONObject province1=new JSONObject();
JSONObject province2=new JSONObject();
List<String> cityList1=new ArrayList<String>();
List<String> cityList2=new ArrayList<String>();
List<JSONObject> provinceList=new ArrayList<JSONObject>(); cityList1.add("广州");
cityList1.add("佛山");
cityList1.add("深圳"); province1.put("name", "广东");
province1.put("citys", cityList1); cityList2.add("南京");
cityList2.add("苏州");
cityList2.add("无锡");
province2.put("name", "江苏");
province2.put("citys", cityList2);
provinceList.add(province1);
provinceList.add(province2); contry.put("name", "中国");
contry.put("provinces", provinceList); System.out.println(contry.toJSONString()); } }

Json数据交互格式介绍和比较的更多相关文章

  1. springMVC学习(11)-json数据交互和RESTful支持

    一.json数据交互: json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. springMVC进行json交 ...

  2. springmvc学习笔记(18)-json数据交互

    springmvc学习笔记(18)-json数据交互 标签: springmvc springmvc学习笔记18-json数据交互 springmvc进行json交互 环境准备 加入json转换的依赖 ...

  3. json数据交互

    springmvc 的json数据交互 - 哎幽的成长 - CSDN博客--和老师讲课相同http://blog.csdn.net/u012373815/article/details/4720818 ...

  4. spring-boot json数据交互

    SpringBoot学习之Json数据交互 最近在弄监控主机项目,对javaweb又再努力学习.实际的项目场景中,前后分离几乎是所以项目的标配,全栈的时代的逐渐远去,后端负责业务逻辑处理,前端负责数据 ...

  5. SpringMVC JSON数据交互

    本节内容: @RequestBody @ResponseBody 请求json,响应json实现 前端可以有很多语言来写,但是基本上后台都是java开发的,除了c++(开发周期长),PHP和#Net( ...

  6. Spring MVC之JSON数据交互和RESTful的支持

    1.JSON概述 1.1 什么是JSON JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式.它是基于JavaScript的一个子集,使用了C.C ...

  7. springmvc的json数据交互

    准备 @RequestBody 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容(json ...

  8. 1.4(Spring MVC学习笔记)JSON数据交互与RESTful支持

    一.JSON数据交互 1.1JSON简介 JSON(JavaScript Object Notation)是一种数据交换格式. 1.2JSON对象结构 {}代表一个对象,{}中写入数据信息,通常为ke ...

  9. SprimgMVC学习笔记(八)—— SpringMVC与前台json数据交互

    一.两种交互形式 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在url的末尾传普通的key/value串过来,针对这两种方式,在Controller类中会有不同的解析, ...

随机推荐

  1. react-踩坑记录——iconfont

    选取图标,添加至购物车后,下载代码. 后将下载了的文件夹改名,放入css文件夹中.在组件中使用到的时候按路径引入“iconfont.css”文件即可. 使用

  2. Polish Extraction Zone

    声明贴花组件 UPROPERTY(VisibleAnywhere, Category = "Components") UDecalComponent* DecalComp; 添加头 ...

  3. 操作dom影响性能的原因

    为什么dom操作会影响性能? 在浏览器当中,dom的实现和ECMAScript的实现是分离的. 例如,在IE中,ECMAScrit的实现在jscript.dll中,而DOM的实现在mshtml.dll ...

  4. SFTP远程连接服务器上传下载文件-vs2010项目实例

    本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,vs2010 vs2010项目实例下载地址:CSDN下载 如果没有CSDN积分,百度网盘下载(密码 ...

  5. 鉴权完成后如何拿到SpringSocial的用户信息

    ⒈ package cn.coreqi.social.config; import org.springframework.beans.factory.annotation.Autowired; im ...

  6. 【VMware vSphere】vSphere Data Protection简介

    [前言] 还记得一月份左右的时候,万达这边的服务器突然宕机,导致所有的项目不得不停止不说,还损失掉了很多宝贵的数据.为了防止这种情况再次发生,所以近期研究了vSphere Data Protectio ...

  7. web应用与http协议

    web应用 Web应用程序是一种可以通过web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件. 应用程序有两种模式C/S.B/S.C/S是客户端/ ...

  8. webstorm的快捷键总结

    ctrl+shift+f 可以在项目和模块中的文件中查找特定字符串 shift键连续敲一下,可以在项目和模块中查找特定的文件 ctrl+d  复制当前行并粘贴到下一行 ctrl+shift+上下方向键 ...

  9. python下载mp4 同步和异步下载支持断点续下

    Range 用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式: Range:(unit=first byte pos)-[last byte pos] Range 头部的格式有以下几种 ...

  10. Linux中设置别名

    作者:邓聪聪 查看别名: alias设置别名: 临时设置: alias show='ls -al' 永久生效: 修改 家目录/.bashrc [root@localhost ~]# cat .bash ...