{"id":15326744,"url":"https://github.com/ecshreve/jcgo","last_synced_at":"2026-01-06T22:48:45.712Z","repository":{"id":57532089,"uuid":"270509872","full_name":"ecshreve/jcgo","owner":"ecshreve","description":"json to csv converter written in golang","archived":false,"fork":false,"pushed_at":"2020-07-25T02:03:09.000Z","size":12048,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T21:14:48.979Z","etag":null,"topics":["csv","github-actions","golang","json","makefile","prs-welcome"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ecshreve.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-08T03:09:57.000Z","updated_at":"2022-10-31T14:53:31.000Z","dependencies_parsed_at":"2022-09-19T19:02:47.104Z","dependency_job_id":null,"html_url":"https://github.com/ecshreve/jcgo","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecshreve%2Fjcgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecshreve%2Fjcgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecshreve%2Fjcgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecshreve%2Fjcgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ecshreve","download_url":"https://codeload.github.com/ecshreve/jcgo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245898330,"owners_count":20690466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","github-actions","golang","json","makefile","prs-welcome"],"created_at":"2024-10-01T09:36:47.799Z","updated_at":"2026-01-06T22:48:45.687Z","avatar_url":"https://github.com/ecshreve.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jcgo\n\n[![Go](https://github.com/ecshreve/jcgo/workflows/Go/badge.svg?branch=master)](https://github.com/ecshreve/jcgo/actions)\n[![GoDoc](https://godoc.org/github.com/ecshreve/jcgo?status.svg)](https://godoc.org/github.com/ecshreve/jcgo)\n[![Go Report Card](https://goreportcard.com/badge/github.com/ecshreve/jcgo)](https://goreportcard.com/report/github.com/ecshreve/jcgo)\n[![Go Version](https://img.shields.io/github/go-mod/go-version/ecshreve/jcgo)](https://golang.org/doc/go1.14)\n[![codecov](https://codecov.io/gh/ecshreve/jcgo/branch/master/graph/badge.svg)](https://codecov.io/gh/ecshreve/jcgo)\n\n## Description\n\nJSON to CSV converter in Golang.\n\n**Note: at this time, this converter doesn't implement the full JSON spec.** (it doesn't currently handle arrays of scalar values, only arrays of `map[string]interface{}`)\n\n## Usage\n\n`jcgo` reads JSON from the file specified as a command line argument, parses the JSON, and writes the data to a CSV file.\n\n```{bash}\n\u003e git clone https://github.com/ecshreve/jcgo.git\n\u003e cd jcgo\n\u003e make build\n\u003e bin/jcgo jsontestlocal.json jsontestlocal.output.csv\n2020/07/24 18:39:22 generated csv file: jsontestlocal.output.csv\n\n\u003e cat jsontestlocal.output.csv | column -t -s ,\nafterState_arrivedAt  afterState_departureTimeMs  afterState_destinationName  afterState_id  afterState_jobState  beforeState_arrivedAt  beforeState_departureTimeMs  beforeState_destinationName  beforeState_id  beforeState_jobState  changedAtMs    events_eventAt  events_eventType  id\n0                     0                           CARI307                     4337769816     4                    0                      0                            CARI307                      4337769816      4                     1591056576414  1591056576414   0                 4333023554\n1591034132029         1591034209011               JASON077                    4337769817     3                    1591034132029          1591034209011                JASON077                     4337769817      3                     1591056576414  1591056576414   0                 4333023554\n```\n\n## reference\n\n- [Effective Go](https://golang.org/doc/effective_go.html)\n- [Tour of Go](https://tour.golang.org/list)\n- [Go by Example](https://gobyexample.com/)\n- [Using Go Modules](https://blog.golang.org/using-go-modules)\n- [encoding/json](https://golang.org/pkg/encoding/json/)\n- [encoding/csv](https://golang.org/pkg/encoding/csv/)\n- [JSON specification](https://www.json.org/json-en.html)\n\n## Googling\n\nHere's an abbreviated list of the things I googled while making this (in no particular order).\n\n- json to csv\n- arbitrary json to csv\n- parse json golang\n- parse nested json\n- json to csv golang github\n- json spec\n- graphql json results\n- write to csv golang\n- golang parse command line args\n- golang flag package\n- golang use flags in test\n- longest common prefix\n- golang module\n- golang project organization\n- golang remove dependencies from module\n- go install vs go build\n- godoc json\n- godoc csv\n- golang stringer\n- golang interface inheritance\n- golang init function\n- golang sort custom type\n- golang embedded struct\n  ...\n  and many, many more\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecshreve%2Fjcgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fecshreve%2Fjcgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecshreve%2Fjcgo/lists"}