Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/svenvc/ston
STON - Smalltalk Object Notation - A lightweight text-based, human-readable data interchange format for class-based object-oriented languages like Smalltalk.
https://github.com/svenvc/ston
data-exchange data-format pharo serialization smalltalk
Last synced: 3 days ago
JSON representation
STON - Smalltalk Object Notation - A lightweight text-based, human-readable data interchange format for class-based object-oriented languages like Smalltalk.
- Host: GitHub
- URL: https://github.com/svenvc/ston
- Owner: svenvc
- License: mit
- Created: 2012-04-28T19:21:51.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-04-18T08:56:24.000Z (9 months ago)
- Last Synced: 2025-01-02T07:09:25.407Z (10 days ago)
- Topics: data-exchange, data-format, pharo, serialization, smalltalk
- Language: Smalltalk
- Size: 561 KB
- Stars: 138
- Watchers: 16
- Forks: 32
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
- awesome-pharo - STON - The Smalltalk Object Notation, similar to JSON but for Smalltalk. (Data interexchange format)
README
# STON - Smalltalk Object Notation
[![CI](https://github.com/svenvc/ston/actions/workflows/CI.yml/badge.svg)](https://github.com/svenvc/ston/actions/workflows/CI.yml)
A lightweight text-based, human-readable data interchange format
for class-based object-oriented languages like Smalltalk.
It can be used to serialize domain level objects,
either for persistency or network transport.
As its name suggests, it is based on JSON (Javascript Object Notation).
It adds symbols as a primitive value, class tags for object values and references.
Implementations for Pharo Smalltalk, Squeak and Gemstone Smalltalk are available.## Installation
```Smalltalk
Metacello new
baseline: 'Ston';
repository: 'github://svenvc/ston/repository';
load
```## Documentation
The original [Smalltalk Object Notation](https://github.com/svenvc/ston/blob/master/ston-paper.md) paper
The Pharo Enterprise book [STON](https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/STON/STON.html) chapter
The most formal description is [The STON Specification](https://github.com/svenvc/ston/blob/master/ston-spec.md)
*Sven Van Caekenberghe*
[MIT Licensed](https://github.com/svenvc/ston/blob/master/license.txt)## Dependency
Add the following code to your Metacello baseline or configuration
```
spec
baseline: 'Ston'
with: [ spec repository: 'github://svenvc/ston/repository' ]
```