首先咱們要了解JSON是什麼?javascript
JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據交換格式。它基於 ECMAScript (歐洲計算機協會制定的js規範)的一個子集,採用徹底獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提高網絡傳輸效率。php
Fastjson是阿里巴巴公司開源的速度最快的Json和對象轉換工具,一個Java語言編寫的JSON處理器。java
主要特性有編程
1、遵循http://json.org標準,爲其官方網站收錄的參考實現之一。2、功能qiang打,支持JDK的各類類型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。3、無依賴,不須要例外額外的jar,可以直接跑在JDK上。4、開源,使用Apache License 2.0協議開源。http://code.alibabatech.com/wiki/display/FastJSON/Home
Fastjson API入口類是com.alibaba.fastjson.JSON,經常使用的序列化操做均可以在JSON類上的靜態方法直接完成。json
// 把JSON文本parse爲JSONObject或者JSONArray public static final Object parse(String text); // 把JSON文本parse成JSONObjectpublic static final JSONObject parseObject(String text); // 把JSON文本parse爲JavaBean public static final <T> T parseObject(String text, Class<T> clazz)// 把JSON文本parse成JSONArray public static final JSONArray parseArray(String text); //把JSON文本parse成JavaBean集合 public static final <T> List<T> parseArray(String text, Class<T> clazz); // 將JavaBean序列化爲JSON文本 public static final String toJSONString(Object object); // 將JavaBean序列化爲帶格式的JSON文本 public static final String toJSONString(Object object, boolean prettyFormat);//將JavaBean轉換爲JSONObject或者JSONArray。public static final Object toJSON(Object javaObject);
有關類庫的一些說明SerializeWriter:至關於StringBufferJSONArray:至關於List<Object>JSONObject:至關於Map<String, Object>
下面是FastJSON的一些使用方法:swift
將Json文本數據信息轉換爲JsonObject對象,經過K V的形式獲取值微信
String str = "{\"name\":\"亂敲代碼\"}"; //將JsonObject數據轉換爲Json JSONObject object = JSON.parseObject(str); //利用鍵值對的方式獲取到值 System.out.println(object.get("name"));
將JSON文本轉換成實體類,注意屬性要對應
網絡
String s = "{\"id\":\"0375\",\"city\":\"上海\"}"; //一個簡單方便 的方法將Json文本信息轉換爲JsonObject對象的同時轉換爲JavaBean對象!Beanweibo = JSON.parseObject(s, Weibo.class); System.out.println(bean.getId()); System.out.println(bean.getCity());
將List轉換成JSON格式數據app
List<String> list = Lists.newArrayList();list.add("slm");list.add("亂敲代碼");String result = JSON.toJSONString(list);
將Map轉換成JSON格式數據編程語言
Map<String, Object> map = Maps.newHashMap(); map.put("1",123);map.put("slm","亂敲代碼");String result1 = JSON.toJSONString(map);
將Bean轉成Json格式數據
Bean bean = new Bean("1234", "洛陽"); JSONObject json = (JSONObject) JSON.toJSON(bean); System.out.println(json.get("id"));
將JSON數據轉成JSONArray格式數據
String s = "[{\"id\":\"0375\",\"city\":\"平頂山\"},{\"id\":\"0377\",\"city\":\"南陽\"}]"; //將JSON文本轉換爲JSONArray JSONArray array = JSON.parseArray(s); //這行必須寫:必須加上+"";否則會報出類型強轉異常! String str = array.get(1)+""; System.out.println(array.get(0)); JSONObject object = JSON.parseObject(str); System.out.println(object.get("id"));
經常使用的也就這麼多方法
掃描二維碼關注公衆號 回覆 「SpringBoot」 獲取價值3999的學習資料
長按識別二維碼,瞭解更多
掃描二維碼加入技術交流羣!
本文分享自微信公衆號 - 亂敲代碼(lqcoder)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。