📚 xj2go - Awesome Go Library for Text Processing

Go Gopher mascot for xj2go

Convert xml or json to go struct

🏷️ Text Processing
📂 Parsers/Encoders/Decoders
0 stars
View on GitHub 🔗

Detailed Description of xj2go

xj2go

Go Report Card Build Status codecov codebeat badge

The goal is to convert xml or json file to go struct file.

Usage

Download and install it:

$ go get -u -v github.com/wk30/xj2go/cmd/...

$ xj [-t json/xml] [-p sample] [-r result] sample.json

Import it in your code:

import "github.com/wk30/xj2go"

Example

Please see the example file.

package main

import (
	"io/ioutil"
	"log"

	"github.com/wk30/xj2go"
)

func main() {
	xmlfilename := "../testxml/xl/styles.xml"
	xj1 := xj2go.New(xmlfilename, "demoxml", "")
	xj1.XMLToGo()

	b1, err := ioutil.ReadFile(xmlfilename)
	if err != nil {
		log.Fatal(err)
	}

	if err := xj2go.XMLBytesToGo("test", "demoxml2", &b1); err != nil {
		log.Fatal(err)
	}

	jsonfilename := "../testjson/githubAPI.json"
	xj2 := xj2go.New(jsonfilename, "demojson", "sample")
	xj2.JSONToGo()

	b2, err := ioutil.ReadFile(jsonfilename)
	if err != nil {
		log.Fatal(err)
	}

	if err := xj2go.JSONBytesToGo("test", "demojson2", "github", &b2); err != nil {
		log.Fatal(err)
	}
}