Skip to content

faroedev/go-json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github.com/faroedev/go-json

A JSON parser and encoder.

Example

Objects

package main

import (
    "fmt"
    "github.com/faroedev/go-json"
)

func main() {
    jsonObject, err := json.Parse(data)
    if err != nil {
        panic(err)
    }

    name, err := jsonObject.GetString("name")
    if err != nil {
        // Key doesn't exist or the value isn't a string.
        panic(err)
    }
    fmt.Println(name)

    jsonObject.SetString(name, "faroe")
    fmt.Println(jsonObject.String())
}

Arrays

package main

import (
    "fmt"
    "github.com/faroedev/go-json"
)

func main() {
    jsonArray, err := json.ParseArray(data)
    if err != nil {
        panic(err)
    }

    name, err := jsonArray.GetString(0)
    if err != nil {
        // Item doesn't exist or the value isn't a string.
        panic(err)
    }
    fmt.Println(name)

    jsonArray.SetString(0, "faroe")
    fmt.Println(jsonArray.String())
}

Builder

package main

import (
    "fmt"
    "github.com/faroedev/go-json"
)

func main() {
    jsonObjectBuilder := json.NewObjectBuilder()
    jsonObjectBuilder.AddString("name", "faroe")
    s := jsonObjectBuilder.Done()
    fmt.Println(s)
}