10.1 Converting json to data classes

10.1 Converting json to data classes

處理json數據,是常見的工作,解析和處理json技術含量低,考驗的是細心和耐心,原始的辦法的就是對着json字符串一個一個的解析,一般做法是用gsonjackson 等轉換工具,輔助json的解析。 這裏介紹一個直接把json串轉成java 代碼的工具和使用方法,可以提高生產效率,減少人工手誤出錯。

10.1.1 Java

GsonFormatter 是一個在Android Studio 中的插件,可以非常快速地把json串轉換成java 類和內部類。

安裝步驟

Android Studio –> Preference –> Plugins –> Browse repositories–> 輸入 GsonFormat –> 選擇並安裝
首次安裝後,需要重啓Android Studio 才能啓用該插件

這裏寫圖片描述
這裏寫圖片描述

使用過程

以如下Json 爲例:

{
    "name": "BeJson",
    "url": "http://www.bejson.com",
    "page": 88,
    "isNonProfit": true,
    "address": {
        "street": "科技園路.",
        "city": "江蘇蘇州",
        "country": "中國"
    },
    "links": [
        {
            "name": "Google",
            "url": "http://www.google.com"
        },
        {
            "name": "Baidu",
            "url": "http://www.baidu.com"
        },
        {
            "name": "SoSo",
            "url": "http://www.SoSo.com"
        }
    ]
}

在Android Studio中新建一個類DataBeanFromJson

這裏寫圖片描述

選擇菜單Code –> Generate 會彈出下圖的菜單,
這裏寫圖片描述
安裝完GsonFormat插件後,這裏比以前多了一個GsonFormat的菜單,點擊後,出現輸入Json的界面。 界面左下角有Settings 設置,可以設置轉換時的一些細節,例如變量是Private 還是public 的,轉換使用的庫等等。
這裏寫圖片描述
我這裏使用的 public 的成員變量,這樣就沒有多餘的getter 和setter 方法。 解析庫使用的是Gson。這樣生成的代碼就是符合Gson 樣式的代碼。
這裏寫圖片描述

設置選好後,點擊ok, 再點擊ok。彈出確認窗口。
這裏寫圖片描述

在這可以選擇具體使用哪些key並寫入代碼中。再次ok後, 代碼就生成好了。
這裏寫圖片描述
如圖所示,int, boolean, String, 對象類型, 列表類型 都可以順利轉換。
另外,不一定非得新建一個類, 在任何一個類中按上述操作都可以當前類中添加代碼。

10.1.2 Kotlin

可以使用RoboPOJOGenerator 插件來生成Kotlin代碼。RoboPOJOGenerator 是一個開源項目

安裝

在Android Studio 的插件中查找RoboPojoGenerator
“Preferences” -> “Plugins” -> “Browse Repositories” -> “RoboPOJOGenerator”

這裏寫圖片描述

使用

選中目標文件夾, 在菜單中選擇File–>new –>Generate POJO from JSON
這裏寫圖片描述
這個插件可以生成java代碼,也可以生成kotlin代碼。 勾選kotlin後,生成kotlin代碼
這裏寫圖片描述

生成代碼如下,多個類是在不同的文件下。
這裏寫圖片描述

注意在build.gradle 中配置

    compile 'com.google.code.gson:gson:2.8.0'
    compile 'org.glassfish:javax.annotation:10.0-b28'

結語

如上,介紹了java 和kotlin 語言下如何快速生成json 文件對應的代碼,希望能夠提高工作效率,祝大家編程愉快。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章