1. 程式人生 > >Json資料互動格式介紹和比較

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