Go Parser

Open-source Go projects categorized as Parser

Top 23 Go Parser Projects

  • jsoniter

    A high-performance 100% compatible drop-in replacement of "encoding/json" (by json-iterator)

    Project mention: Polygon: Json Database System designed to run on small servers (as low as 16MB) and still be fast and flexible. | /r/golang | 2023-01-29

    Json-iterator (https://github.com/json-iterator/go), you can replace all of encoding/json with this. It does the same thing but it's faster.

  • sh

    A shell parser, formatter, and interpreter with bash support; includes shfmt (by mvdan)

    Project mention: Pure Bash Bible | news.ycombinator.com | 2023-08-08


    And finally, checkbashisms if you intend on making pure posix scripts that are compatible with debian/ubuntu's dash. It is part of the debian's devscripts suite, but is often individually packaged in other distros.

    > Also you can use the chat as a learning tool

    Or you could learn from a guide written by people who have suffered decades of experience of the pitfalls of shell scripting and have shared their woes.


  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • jsonparser

    One of the fastest alternative JSON parser for Go that does not require schema

    Project mention: What's the best way to unmarshall this nested JSON? | /r/golang | 2023-06-29

    Use this to extract the data value, and handle/unmarshal it accordingly.

  • dasel

    Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.

    Project mention: jq 1.7 Released | news.ycombinator.com | 2023-09-06
  • ini

    Package ini provides INI file read and write functionality in Go

    Project mention: Convert any to string or alternative to any | /r/golang | 2022-12-02

    I am very new to golang and am trying to write a Program that uses INI Cobfiguration Files. The library that I am using, has built in functions to output the Key as a certain type (string, int, bool, etc). However as I will be accessing several different Keys of different types, I wrote a wrapper that takes the section and key name and the output type, passes that to the libraries functions and outputs the result as the any type. While trying to pass the output into another function that requires a string, it throws the error that it is unable to convert any to string as string requires type assertion. I couldn't find much about the any type, but it seems luke i will either need to redesign my wrapper function, use an alternative to any or find a way to convert any to string or []byte at least.

  • participle

    A parser library for Go

    Project mention: Parser generator | /r/golang | 2023-09-14

    I know of tools like Kaitai that do essentially what I want, just curious about my options. I guess something like https://github.com/alecthomas/participle could work to parse the format, then I'd have to generate code based on the parsed data or something

  • gofeed

    Parse RSS, Atom and JSON feeds in Go

    Project mention: IndieWebifying my Website Part 1 - Microformats and Webmentions | dev.to | 2022-11-12

    Luckily I did not have to implement any of this myself apart from some glue code to fit it together: I used the library gocron for scheduling the regular intervals, gofeed for parsing the RSS feed and webmention for extracting links and sending webmentions.

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

  • goawk

    A POSIX-compliant AWK interpreter written in Go, with CSV support

    Project mention: The Awk Programming Language, Second Edition | news.ycombinator.com | 2023-06-29

    TIL: GoAWK [1] - A POSIX-compliant AWK interpreter written in Go, with CSV support.

    [1]: https://github.com/benhoyt/goawk

  • kong

    Kong is a command-line parser for Go (by alecthomas)

    Project mention: climate "CLI Mate": a CLI library that autogenerates CLIs from structs / functions with support for nested subcommands, global / local flags, help generation from godocs, typo suggestions, shell completion and more | /r/golang | 2023-07-07

    I’ve been using https://github.com/alecthomas/kong for exposing generated protobuf structs for CLI args. How does your library compare?

  • when

    A natural language date/time parser with pluggable rules (by olebedev)

  • PHP-Parser

    PHP parser written in Go (by z7zmey)

  • dicom

    ⚡High Performance DICOM Medical Image Parser in Go.

    Project mention: Medical image parser in Go | /r/golang | 2022-11-07

    I suppose you know of https://github.com/suyashkumar/dicom - maybe make it clear what the difference is (or will be)?

  • gval

    Expression evaluation in golang

  • ojg

    Optimized JSON for Go

    Project mention: SEN: Simple Encoding Notation | news.ycombinator.com | 2023-07-17
  • form

    :steam_locomotive: Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. (by go-playground)

  • omniparser

    omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc.

  • demoinfocs-golang

    High performance CS:GO & CS2 demo parser for Go (demoinfo)

    Project mention: I've launched a free website for replaying the latest professional CSGO games at csgolens.com | /r/GlobalOffensive | 2023-01-16

    I have my own fork of https://github.com/markus-wa/demoinfocs-golang that does the parsing.

  • graphql-go-tools

    Tools to write high performance GraphQL applications using Go/Golang.

    Project mention: Cosmo Router: High Performance Federation v1 & v2 Router / Gateway | dev.to | 2023-09-14

    Cosmo Router is built on top of graphql-go-tools, a high performance GraphQL engine written in Go.

  • enmime

    MIME mail encoding and decoding package for Go

  • gronx

    Lightweight, fast and dependency-free Cron expression parser (due checker, next/prev due date finder), task runner, job scheduler and/or daemon for Golang (tested on v1.13+) and standalone usage. If you are bold, use it to replace crontab entirely.

    Project mention: How to run periodic tasks? | /r/golang | 2023-04-07

    maybe use gronx https://github.com/adhocore/gronx

  • rdb

    Golang implemented Redis RDB parser for secondary development and memory analysis (by HDT3213)

  • sonnet

    High performance JSON decoder in Go

    Project mention: The latest JSON encode/decode benchmarks and analysis! | /r/golang | 2023-09-29

    Disclaimer, I am the author of one of the libraries: sonnet. Although I tried it to make fair as possible, It might not be perfect for that perspective. Before getting into the performance of all, let me talk about the correctness.

  • pe

    A :zap: lightweight Go package to parse, analyze and extract metadata from Portable Executable (PE) binaries. Designed for malware analysis tasks and robust against PE malformations. (by saferwall)

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-09-29.

Go Parser related posts


What are some of the best open-source Parser projects in Go? This list will help you:

Project Stars
1 jsoniter 12,622
2 sh 6,189
3 jsonparser 5,210
4 dasel 4,544
5 ini 3,316
6 participle 3,119
7 gofeed 2,265
8 goawk 1,732
9 kong 1,549
10 when 1,290
11 PHP-Parser 929
12 dicom 840
13 gval 660
14 ojg 640
15 form 607
16 omniparser 595
17 demoinfocs-golang 549
18 graphql-go-tools 527
19 enmime 397
20 gronx 304
21 rdb 290
22 sonnet 237
23 pe 228
Collect and Analyze Billions of Data Points in Real Time
Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.