JayDiff alternatives and similar packages
Based on the "Other Software" category.
Alternatively, view JayDiff alternatives based on common mentions on social networks and blogs.
-
Seaweed File System
DISCONTINUED. SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. [Moved to: https://github.com/seaweedfs/seaweedfs] -
Gor
GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes. -
rkt
DISCONTINUED. An App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM. -
toxiproxy
:alarm_clock: :fire: A TCP proxy to simulate network and system conditions for chaos and resiliency testing -
scc
Sloc, Cloc and Code: scc is a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go -
Juju
Orchestration engine that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure (Kubernetes or otherwise). -
Documize
Modern Confluence alternative designed for internal & external docs, built with Go + EmberJS -
GoDNS
A dynamic DNS client tool that supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc, written in Go. -
Guora
🖖🏻 A self-hosted Quora like web application written in Go 基于 Golang 类似知乎的私有部署问答应用 包含问答、评论、点赞、管理后台等功能 -
mockingjay
Fake server, Consumer Driven Contracts and help with testing performance from one configuration file with zero system dependencies and no coding whatsoever -
ipe
DISCONTINUED. An open source Pusher server implementation compatible with Pusher client libraries written in GO
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of JayDiff or a related project?
Popular Comparisons
README
JayDiff
A JSON diff utility.
Install
Downloading the compiled binary
- Download the latest version of the binary: releases
- extract the archive and place the
jaydiff
binary in your$PATH
From source
- Have go 1.11 or greater installed: golang.org
- run
go get -u github.com/yazgazan/jaydiff
Usage
Usage:
jaydiff [OPTIONS] FILE_1 FILE_2
Application Options:
-i, --ignore= paths to ignore (glob)
--indent= indent string (default: "\t")
-t, --show-types show types
--json json-style output
--ignore-excess ignore excess keys and array elements
--ignore-values ignore scalar's values (only type is compared)
-r, --report output report format
--slice-myers use myers algorithm for slices
--stream treat FILE_1 and FILE_2 as JSON streams
--stream-lines read JSON stream line by line (expecting 1 JSON value per line)
--stream-ignore-excess ignore excess values in JSON stream
--stream-validate compare FILE_2 JSON stream against FILE_1 single value
-v, --version print release version
Help Options:
-h, --help Show this help message
Examples
Getting a full diff of two json files:
$ jaydiff --show-types old.json new.json
map[string]interface {} map[
a: float64 42
b: []interface {} [
float64 1
- float64 3
+ float64 5
+ float64 4
]
c: map[string]interface {} map[
- a: string toto
+ a: string titi
- b: float64 23
+ b: string 23
]
- e: []interface {} []
- f: float64 42
g: []interface {} [1 2 3]
+ h: float64 42
]
Ignoring fields:
$ jaydiff --show-types \
--ignore='.b\[\]' --ignore='.d' --ignore='.c.[ac]' \
old.json new.json
map[string]interface {} map[
a: float64 42
b: []interface {} [1 3]
c: map[string]interface {} map[
- b: float64 23
+ b: string 23
]
- e: []interface {} []
- f: float64 42
g: []interface {} [1 2 3]
+ h: float64 42
]
Report format:
$ jaydiff --report --show-types old.json new.json
- .b[1]: float64 3
+ .b[1]: float64 5
+ .b[2]: float64 4
- .c.a: string toto
+ .c.a: string titi
- .c.b: float64 23
+ .c.b: string 23
- .e: []interface {} []
- .f: float64 42
+ .h: float64 42
JSON-like format:
$ jaydiff --json old.json new.json
{
"a": 42,
"b": [
1,
- 3,
+ 5,
+ 4
],
"c": {
- "a": "toto",
+ "a": "titi",
- "b": 23,
+ "b": "23"
},
- "e": [],
- "f": 42,
"g": [1,2,3],
+ "h": 42
}
Ignore Excess values (useful when checking for backward compatibility):
$ jaydiff --report --show-types --ignore-excess old.json new.json
- .b[1]: float64 3
+ .b[1]: float64 5
- .c.a: string toto
+ .c.a: string titi
- .c.b: float64 23
+ .c.b: string 23
- .e: []interface {} []
- .f: float64 42
Ignore values (type must still match):
$ jaydiff --report --show-types --ignore-excess --ignore-values old.json new.json
- .c.b: float64 23
+ .c.b: string 23
- .e: []interface {} []
- .f: float64 42
JSON streams:
$ jaydiff --stream --json old.json new.json
[
{"foo":"bar"},
[
2,
3,
4,
{
+ "v": "some"
}
],
+ {"some":"thing"}
]
Validating JSON stream types:
$ jaydiff --ignore-excess --ignore-values --stream-validate --report --show-types base.json stream.json
- [1].bar: float64 4.2
+ [1].bar: string !
Ideas
- JayPatch
Sponsored by Datumprikker.nl