Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/svenvc/NeoJSON

NeoJSON is an elegant and efficient standalone Smalltalk framework to read and write JSON converting to or from Smalltalk objects.
https://github.com/svenvc/NeoJSON

json mapping pharo smalltalk

Last synced: 3 months ago
JSON representation

NeoJSON is an elegant and efficient standalone Smalltalk framework to read and write JSON converting to or from Smalltalk objects.

Awesome Lists containing this project

README

        

# NeoJSON

NeoJSON is an elegant and efficient standalone Smalltalk framework to read and write JSON converting to or from Smalltalk objects.

[![CI](https://github.com/svenvc/NeoJSON/actions/workflows/CI.yml/badge.svg)](https://github.com/svenvc/NeoJSON/actions/workflows/CI.yml)

MIT Licensed.

A chapter in the [Enterprise Pharo](https://books.pharo.org/enterprise-pharo/) book is a good introduction to [NeoJSON](https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/NeoJSON/NeoJSON.html).

Go ahead and read the [NeoJSON paper](https://github.com/svenvc/docs/blob/master/neo/neo-json-paper.md).

Basically, NeoJSONWriter is used to write a JSON representation of Smalltalk objects to a textual stream.
Similary, NeoJSONReader is used to parse a JSON representation from a textual stream into Smalltalk objects.

http://www.json.org
https://en.wikipedia.org/wiki/JSON

## Installation

You can load NeoJSON using Metacello

```Smalltalk
Metacello new
repository: 'github://svenvc/NeoJSON/repository';
baseline: 'NeoJSON';
load.
```

You can use the following dependency from your own Metacello configuration or baseline

```Smalltalk
spec baseline: 'NeoJSON' with: [ spec repository: 'github://svenvc/NeoJSON/repository' ].
```