zoukankan      html  css  js  c++  java
  • Json数据交互格式介绍和比较

    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());
            
        }
    
    }
  • 相关阅读:
    数据库第三范式的思考
    channel通道例子
    go 测试代码性能实例
    go 新建項目引入gin失敗
    go 创建切片slice的四种方法
    Hibernate查询操作
    shell 分割训练数据
    hadoop streaming 分桶到不同的part
    C语言调用另一个文件的方法
    在springboot中使用jdbcTemplate(3)
  • 原文地址:https://www.cnblogs.com/jiefu/p/10029128.html
Copyright © 2011-2022 走看看