Skip to content

aaronsw/jsonformat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jsonformat takes a stream ob JSON objects from stdin and brings them into a (user) specified format.

Installation

A simple go get should do the trick

Usage

jsonformat supports two formats right now:

  • template which is a thin wrapper around Go's templating language and allows great complexity
  • csv which is actually just a generator for template, but hides most of the complexity to make generating CSV-style output easier.

Examples

Testdata

json.txt:

{
	"Name": {
		"FirstName": "John",
		"LastName": "Doe"
	},
	"Age": 25,
	"NetWorth": 22.23
}
{
	"Name": {
		"FirstName": "Jane",
		"LastName": "Doe"
	},
	"Age": 18,
	"NetWorth": 250123.2
}

template

$ cat json.txt | jsonformat -f template -s '{{.Name.FirstName}} {{.Name.LastName}} - {{.NetWorth|dec(2)}}'
John Doe - 22.23
Jane Doe - 250123.20

csv

$ cat json.txt | jsonformat -f csv -s 'Name.FirstName=First Name|str,Name.LastName=Last Name|str,NetWorth=Net Worth|dec(3)'
First Name,Last Name,Net Worth
"John","Doe",22.230
"Jane","Doe",250123.200

Version 0.4.0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 93.5%
  • Shell 6.5%