Skip to content

Latest commit

 

History

History
50 lines (33 loc) · 1.06 KB

README.md

File metadata and controls

50 lines (33 loc) · 1.06 KB

Build Status


JsonConfigReader is a proxy for golang's io.Reader that strips line comments and trailing commas, allowing you to use json as a reasonable config format.

Comments start with // and continue to the end of the line. Multiline comments are also supported with /* and */.

If a trailing comma is in front of ] or } it will be stripped as well.

Given settings.json

{
	"key": "value", // k:v

	// a list of numbers
	"list": [1, 2, 3],

	/* 
	a list of numbers
	which are important
	*/
	"numbers": [1, 2, 3],
}

You can read it in as a normal json file:

package main

import (
	"encoding/json"
	"fmt"
	"github.com/DisposaBoy/JsonConfigReader"
	"os"
)

func main() {
	var v interface{}
	f, _ := os.Open("settings.json")
	// wrap our reader before passing it to the json decoder
	r := JsonConfigReader.New(f)
	json.NewDecoder(r).Decode(&v)
	fmt.Println(v)
}