ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

JSON2​Go

by evercyan OS X ST2/ST3

Sublime Plugin: make json string to Go struct

Labels json, urllib.parse

Details

Installs

  • Total 376
  • Win 0
  • OS X 376
  • Linux 0
Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7 Nov 6 Nov 5 Nov 4 Nov 3 Nov 2 Nov 1 Oct 31 Oct 30
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
OS X 0 0 2 1 0 1 0 0 2 0 1 0 1 0 1 2 1 2 1 0 1 2 1 2 2 2 0 1 0 0 1 1 1 0 0 2 2 0 0 0 0 0 0 1 1 2
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

JSON2Go


A Sublime plugin can translate JSON string to Go struct definition

Example

{
    "name": "ryan",
    "info": [
        1, 2, "3"
    ],
    "detail": {
        "age": 20,
        "height": "172cm"
    },
    "som":[
        {
            "aaa": 1,
            "bbb": 4
        },
        {
            "bbb": "2",
            "ccc": [
                {
                    "a": [
                        "what"
                    ],
                    "b": {
                        "name":"1"
                    },
                    "c":"c"
                }
            ]
        }
    ]
}

To:

type Demo struct {
    Detail struct {
        Height string `json:"height"`
        Age    int    `json:"age"`
    } `json:"detail"`
    Info []interface{} `json:"info"`
    Som  []struct {
        Ccc []struct {
            B struct {
                Name string `json:"name"`
            } `json:"b"`
            C string   `json:"c"`
            A []string `json:"a"`
        } `json:"ccc"`
        Bbb interface{} `json:"bbb"`
        Aaa int         `json:"aaa"`
    } `json:"som"`
    Name string `json:"name"`
}

Install


  • Manual
MacOs:
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/
git clone https://github.com/everCyan/JSON2Go
  • Sublime Plugin
Package Control: Install Package
input `JSON2GO`

Menu

right click, the menu like this:
- JSON2Go

    - JSON2Go       translate JSON string to Go struct

    - ToUpper       translate to upper
    - ToLower       translate to lower

    - JsonExpand    translate one line json string to BASIC json struct
    - JsonShrink    translate json struct to one line json string

    - StrEscape     escape str
    - StrUnescape   unescape str

    - UrlEncode     encode url
    - UrlDecode     decode url

Help (JSON2Go js): https://github.com/mholt/json-to-go