JSON 轉換成 Golang

在 Golang 上若要讀取 JSON 就必須建立相對應的建構體才行,而 JSON-to-Go 線上工具解決了手動新增建構體的困擾,這個工具是由 JavaScript 撰寫的,相關原始碼可以在這邊的 Github 看見

工具操作

先來到 JSON-to-Go 頁面,然後頁面左下角是輸入 JSON 結構的地方,輸入後會自動轉成右邊的 Go 結構體。

讓我們假設輸入了下列 JSON(TeaMeow/VuePack 拿來的):

{
    "name"       : "vuepack",
    "version"    : "0.0.0",
    "description": "A modern Vue.js starter which uses Vue 2, Vuex, Vue-router and Webpack 2.",
    "main"       : "client/index.js",
    "scripts": 
    {
        "test" : "echo wow, such TeaMeow, very Spring!",
        "build": "rm -rf dist && webpack --config build/webpack.prod.js",
        "dev"  : "node build/server.js",
        "gh"   : "npm run build && gh-pages -d dist"
    }
}

JSON-to-Go 工具會自動轉成下列結果:

type AutoGenerated struct {  
    Name string `json:"name"`
    Version string `json:"version"`
    Description string `json:"description"`
    Main string `json:"main"`
    Scripts struct {
        Test string `json:"test"`
        Build string `json:"build"`
        Dev string `json:"dev"`
        Gh string `json:"gh"`
    } `json:"scripts"`
}

十分地方便,對吧?同個作者還有提供另一個叫做 Curl-to-Go 的工具,也可以稍微參考一下。