repositorypackage
0.0.0-20240422152003-50bb28c0df2a
Repository: https://github.com/go-shafaq/jsoniter.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# README
jsoniter
forked from github.com/json-iterator/go
Added future:
casting names automatically if needed
no more tagging every single field to specify its name
Basic Usage
Installation
go get github.com/go-shafaq/jsoniter
Code
Here is a minimal example.
package main
import (
"fmt"
"github.com/go-shafaq/defcase"
jsoniter "github.com/go-shafaq/jsoniter"
)
func main() {
// Get Public Default case
dcase := defcase.Get()
// Set a case for "json" tag and specific package
// "*" means any package
dcase.SetCase("json", "*", defcase.Snak_case)
// Set a Default_Case to library
jsoniter.SetDefCase(dcase)
// Marshal a struct (which has no tags)
var json = jsoniter.ConfigCompatibleWithStandardLibrary
bytes, _ := json.Marshal(Item{Id: 3, Name: "laptop", CategoryId: 11})
fmt.Println(string(bytes))
}
type Item struct {
Id int `casting:"no more tags"`
Name string
CategoryId int
}
Terminal
Printed result
{"id":3,"name":"laptop","category_id":11}
Pretty json
{
"id": 3,
"name": "laptop",
"category_id": 11
}