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: 22 days ago
JSON representation
NeoJSON is an elegant and efficient standalone Smalltalk framework to read and write JSON converting to or from Smalltalk objects.
- Host: GitHub
- URL: https://github.com/svenvc/NeoJSON
- Owner: svenvc
- License: mit
- Created: 2013-07-08T11:07:47.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2025-04-15T06:46:03.000Z (about 2 months ago)
- Last Synced: 2025-04-15T07:39:21.847Z (about 2 months ago)
- Topics: json, mapping, pharo, smalltalk
- Language: Smalltalk
- Size: 231 KB
- Stars: 44
- Watchers: 7
- Forks: 22
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
- awesome-pharo-ml - NeoJSON - Framework to handle JSON in Pharo. (Data Collection)
- awesome-pharo - NeoJSON - Framework to handle JSON in Pharo. (Data interexchange format)
README
# 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/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' ].
```