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());
        
    }

}
原文地址:https://www.cnblogs.com/jiefu/p/10029128.html