ojg VS unify-jdocs

Compare ojg vs unify-jdocs and see what are their differences.

unify-jdocs

A new way of working with JSON documents without using model classes or JSON schemas (by americanexpress)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
ojg unify-jdocs
17 9
796 71
- -
7.0 5.7
7 days ago 3 months ago
Go Java
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ojg

Posts with mentions or reviews of ojg. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-07.

unify-jdocs

Posts with mentions or reviews of unify-jdocs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-03.
  • How to Use JSON Path
    11 projects | news.ycombinator.com | 3 May 2024
    JSONPath is good when it comes to querying large JSON documents. But in my opinion, more than this is the need to simplify reading and writing from JSON documents. We use POJOs / model classes which can become a chore for large JSON documents. While it is possible to read paths, I had not seen any tool using which we could read and write JSON paths in a document without using POJOs. And so I wrote unify-jdocs - read and write any JSON path with a single line of code without ever using POJOs. And also use model documents to replace JSONSchema. You can find this library here -> https://github.com/americanexpress/unify-jdocs.
  • I created another JSON –> Java mapper (it's better)
    1 project | news.ycombinator.com | 9 Apr 2024
    I went the other way - because I so much disliked working with DTOs to work with JSON, I wrote a library that allows you to get rid of DTOs in the first place. No more POJO / DTO in order to work with JSON data and much more. You could take a look at https://github.com/americanexpress/unify-jdocs. I think you will find it interesting!
  • I spent a year building an App and failed – The Story of Taskwer
    2 projects | news.ycombinator.com | 22 Dec 2023
    "And that’s when a real problem emerged; nobody knew who I was" and "I felt invisible, like I was all alone in this world. I could have had the best thing in the world, and no one would care": Could not agree with you more on this - over the past many years it has been more and more important to build a digital brand for yourself and have many followers - to be networked with people and know people who can provide you with reach - something which is difficult for introverts and challenging to do now since I have crossed 50. I personally have felt this helplessness in trying to promote a couple of opensource Java libraries I released on behalf of my employer (shameless plug here -> https://github.com/americanexpress/unify-jdocs and https://github.com/americanexpress/unify-flowret). I thought I had done something of value which would be readily adopted by people after they saw it - guess what - first I have not been able to get through to a wide audience and second - I underestimated what it takes to get people out of their comfort zone and their traditional thinking. It is so difficult for people to accept that there may be better ways of doing things once they get used to a certain way. Anyway, I don't think you failed - you learnt and it is never too late to learn and do something new. Something will click eventually and I wish you all the very best.
  • Show HN: Unify-jdocs – read / write any JSON path with a single line of code
    2 projects | news.ycombinator.com | 28 Nov 2023
    Auther here - thanks for responding! I really do appreciate it.

    > The trend seems to be in the opposite direction. People became frustrated with the lack of types in Python and JavaScript, hence we get Python with typing and TypeScript.

    Regarding typing, what I have tried to achieve is the best of both worlds. In unify-jdocs, we have the concept of typed document. This is a document that defines the structure of the JSON document. It defines what the "type" of a leaf node is i.e. integer, string etc. The validation / determination against this type is however done at runtime. This, I feel is acceptable because whenever we add a JSON path to a document, the first thing we would do is to test the read / write of that path. And any type mismatch would get caught there immediately. And so, from the point of view of being able to read / write / validate in a single line of code (even though dynamically) provides much simplicity and ease of use as compared to using POJOs. Plus we always know the exact JSON path we are dealing with.

    Usually, I would prefer static typing but, in a scenario, where we can have hundreds of JSON document types (we deal with more than 500 in the same application), complex JSON document (ours go down more than ten levels deep with hundreds of JSON paths) and where the document structures may undergo change over project lifetime, the use of read / writing using a single line of code has many benefits. I shudder to think of hundreds (if not thousands) of POJO classes, the writing of accessor methods (null / empty handling, namespace etc.) and what it would take to refactor in the face of change. Just my opinion based on my experience in the past.

    > I think you will find less traction with this method of posting to HN. People want a clickable link to look at the project

    The clickable link to the repo / documentation is actually in the text (https://github.com/americanexpress/unify-jdocs). In the case of this post, I felt it more important for people to read the text rather than be directly pointed to the contents of the link and hence this approach.

  • Show HN: Unify-jdocs has come a long way
    1 project | news.ycombinator.com | 13 Nov 2023
  • A Journey building a fast JSON parser and full JSONPath
    5 projects | news.ycombinator.com | 11 Oct 2023
    Nice work! I see that that this is for processing / parsing large data sets and where documents do not conform to a fixed structure and for Go language.

    I made something similar in Java - unify-jdocs - https://github.com/americanexpress/unify-jdocs - though this is not for parsing - it is more for reading and writing when the structure of the document is known - read and write any JSONPath in one line of code and use model documents to define the structure of the data document (instead of using JSONSchema which I found very unwieldy to use) - no POJOs or model classes - along with many other features. Posting here as the topic is relevant and it may help people in the Java world. We have used it intensively within Amex for a very large complex project and it has worked great for us.

  • Show HN: A tool to Convert JSON schemas into TypeScript classes
    7 projects | news.ycombinator.com | 5 Oct 2023
    Nice! Talking of JSON schemas and validating JSON documents against schemas, for Java, I wrote unify-jdocs where I do not use JSON schemas but still do validations (I found them unwieldy to use and was looking for something simpler). You can find details here -> https://github.com/americanexpress/unify-jdocs. Also, no POJOs / model classes, just reading and writing JSON paths in a single line of code. It's helped us tremendously in managing complexity in a very large internal project. I am hoping it helps others.
  • On the Complexity of JSON Serialization
    2 projects | news.ycombinator.com | 24 Jan 2021
    This article got my attention. Related to what you are saying, in Java, the problem that I was really fed up of was creating domain specific JSON object models to map the JSON documents into to use in code. In other words, mapping JSON to rigidly typed language structure. Its boiler plate, is tedious to do (as the author points out in the article), difficult to change and usually a pain. I solved this problem by creating unify-jdocs which completely eliminates the need to create object models or POJO classes to represent your JSON object. You can read more about it here -> https://github.com/americanexpress/unify-jdocs

What are some alternatives?

When comparing ojg and unify-jdocs you can also consider the following projects:

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

jsonschema2pojo - Generate Java types from JSON or JSON Schema and annotate those types for data-binding with Jackson, Gson, etc

jsonic - All you need with JSON

REST Assured - Java DSL for easy testing of REST services

fastjson - Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection

jsog - JavaScript Object Graph

ask - A Go package that provides a simple way of accessing nested properties in maps and slices.

hof - Framework that joins data models, schemas, code generation, and a task engine. Language and technology agnostic.

jettison - Highly configurable, fast JSON encoder for Go

unify-flowret - A lightweight Java based orchestration engine

json2go - Create go type representation from json

Paste JSON as Code • quicktype - Xcode extension to paste JSON as Swift, Objective-C, and more