New multiplatform JSON parser library needs your help for native iOS/OSX support

I published the v2.5 release of essential-kson, a minimalistic but powerful json parser.

It supports Jvm, Js, WasmJs, and several native platforms on android and desktop. It has a very complete test suite. The parser has been adapted from Gson.

All the macOS and iOS native platforms should be easily reachable but they need some help from a contributor proficient with Apple native kotlin code packaging in multiplatform projects (and I don’t have a Mac).

So if you feel like helping, please step in! And otherwise, please give it a star, it’s the first time I communicate about it, you know how new projects are deeply in need of visibility.

Isn’t it already supported by Kotlinx Serialization?
kotlinx-serialization-json can be also used directly, without compiler plugin if necessary, similar to your lib.

Maybe you could at least add comparison with kotlin-serialization-json to your lib README

2 Likes

Thanks for your feedback Yes, underlying the differences with kotlinx-serialization in the readme is a good idea.

Among those differences, the extensibility is a major one (objects and arrays are not sealed in essential-kson), and the wrapping of primitive values looks to me as an awkward design decision (common to many libs…).

Those are good points: make it minimalistic and focus on raw performance and memory optimization.
It looks like a library that fits well for some prototyping and kotlin scripts, but it is not published to Maven Central as I see

It is published to Maven Central.

Maybe you did search for a Java artifact named essential-kson.jar. The correct artifact id is essential-kson-jvm for the JVM, all multiplaform libraries do require this suffix.

Full maven coordinates for the JVM facet:

<dependency>
    <groupId>com.republicate.kson</groupId>
    <artifactId>essential-kson-jvm</artifactId>
    <version>2.5</version>
</dependency>

The just released version of Kotlin 2.1.0 has support for building multiplatform libraries for iOS and Mac on any architecture

2 Likes

Suffix is not necessary, it can be published without it with Gradle metadata which points to correct platform

Thanks for your answer. I published the v2.6 with support for iOS and macOS plaforms.

1 Like