GithubHelp home page GithubHelp logo

json-comparer's Introduction

JSON Comparer

Go codecov

A small library which can be using for compare two JSON (after it has been processed by json.Unmarshal).

Built with ๐ŸŽ† sounds at ๐Ÿ•› in the city.

Minimum requirement Go version >= 1.13

go get github.com/vuon9/json-comparer

Examples

Compare two numbers

err := jsoncomparer.Compare(1, 2) // not nil
err := jsoncomparer.Compare(1, 1) // nil

Compare two bools

err := jsoncomparer.Compare(true, false) // not nil
err := jsoncomparer.Compare(true, true) // nil

Compare two strings

err := jsoncomparer.Compare("Happy new year 2021", "This is the first day of the year") // not nil
err := jsoncomparer.Compare("Happy new year 2021", "Happy new year 2021") // nil

Compare two maps (equivalent to object in JSON which has been un-marshalled)

var m1 interface{}
_ = json.Unmarshal([]byte(`{
    "abc": 1,
    "name": {
        "huy": "khila",
        "name": ["a", "b", "c"],
        "student": [
            {"name": "Binh", "age": 20},
            {"name": "An", "age": 20}
        ]
    }
}`), &str1)

var m2 interface{}
_ = json.Unmarshal([]byte(`{
    "abc": 1,
    "name": {
        "huy": "khila",
        "name": ["a", "b", "d"],
        "student": [
            {"name": "Binh", "age": 20},
            {"name": "An", "age": 20}
        ]
    }
}`), &str2)
err := jsoncomparer.Compare(m1, m2) // not nil

Compare two slices (equivalent to array in JSON which has been un-marshalled)

var s1 interface{}
_ = json.Unmarshal([]byte(`[
    {"name": "Binh", "age": 20},
    {"name": "An", "age": 20}
]`), &s1)

var s2 interface{}
_ = json.Unmarshal([]byte(`[
    {"name": "Binh", "age": 20},
    {"name": "An", "age": 21}
]`), &s2)
err := jsoncomparer.Compare(s1, s2) // not nil

Please read more on test file to see how it work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.