1. 程式人生 > >Json數據交互格式介紹和比較

Json數據交互格式介紹和比較

解析xml import 初級 con imp stat 互轉 obj 江蘇

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數據交互格式介紹和比較