一、首先來說說fastjson
fastjson 是一個性能很好的 Java 語言實現的 JSON 解析器和生成器,來自阿里巴巴的工程師開發。其主要特點是:
① 快速:fastjson采用獨創的算法,將parse的速度提升到極致,超過所有基於Java的json庫,包括曾經號稱最快的jackson;
② 強大:Fastjson完全支持http://json.org的標准(也是Google官方網站收錄的參考實現之一);支持各種JDK類型;包括基本類型、JavaBean、Collection、Map、Enum、泛型等;
③零依賴:沒有依賴其它任何類庫除了JDK,能夠直接運行在Java SE 5.0以上版本;支持Android;開源 (Apache 2.0)。
為什么要說fastjson,因為,JSON.parseObject(String str)和JSONObject.parseObject(String str)就是fastjson中的方法。
二、parseObject(String str)的作用
JSON.parseObject(String str)是將str轉化為相應的JSONObject對象,其中str是“鍵值對”形式的json字符串,轉化為JSONObject對象之后就可以使用其內置的方法,進行各種處理了。
三、JSON.parseObject(String str)與JSONObject.parseObject(String str)的區別
根據源碼顯示:JSON是一個抽象類,JSON中有一個靜態方法parseObject(String text),將text解析為一個JSONObject對象並返回;JSONObject是一個繼承自JSON的類,當調用JSONObject.parseObject(result)時,會直接調用父類的parseObject(String text)。所以兩者沒什么區別,一個是用父類去調用父類自己的靜態的parseObject(String text),一個是用子類去調用父類的靜態parseObject(String text),兩者調的是同一個方法。