AS-JSON
JSON encoder/decoder for AssemblyScript
Installation
~ npm install json-as
--transform json-as/transform
Support
- β
Objects
- β
Arrays
- β
Numbers
- β
Integers
- β
Null
- β
Dynamic Arrays
- β
Dynamic Types
- β
Dynamic Objects
- β
Whitespace
Usage
import { JSON } from 'json-as'
Object
@json
class JSONSchema {
firstName: string
lastName: string
age: i32
}
const data: JSONSchema {
firstName: 'Jairus',
lastName: 'Tanaka',
age: 14
}
const stringified = JSON.stringify(data)
const parsed = JSON.parse<JSONSchema>(stringified)
Array
const stringified = JSON.stringify(['Hello', 'World'])
const parsed = JSON.parse<JSONSchema>(stringified)
Float
const stringified = JSON.stringify(3.14)
const parsed = JSON.parse<f64>(stringified)
Integer
const stringified = JSON.stringify(14)
const parsed = JSON.parse<i32>(stringified)
Boolean
const stringified = JSON.stringify(true)
const parsed = JSON.parse<boolean>(stringified)
Bool
const stringified = JSON.stringify(true)
const parsed = JSON.parse<bool>(stringified)
Null
const stringified = JSON.stringify(null)
const parsed = JSON.parse(stringified)
Benchmarks
AS-JSON Stringify String: ~4191267.51 ops/s | 23.86ms
AS-JSON Parse String: ~6218119.99 ops/s | 16.08ms
AS-JSON Stringify Integer: ~13775012.61 ops/s | 7.26ms
AS-JSON Parse Integer: ~55061164.13 ops/s | 1.82ms
AS-JSON Stringify Float: ~7739399.89 ops/s | 12.92ms
AS-JSON Parse Float: ~37522902.16 ops/s | 2.67ms
AS-JSON Stringify Boolean: ~615015015.02 ops/s | 0.16ms
AS-JSON Parse Boolean: ~93901879.87 ops/s | 1.06ms
AS-JSON Stringify Array: ~2380329.74 ops/s | 42.01ms
AS-JSON Parse Array: ~6258786.14 ops/s | 15.98ms
AS-JSON Stringify Object: ~5245632.91 ops/s | 19.06ms
AS-JSON Parse Object: ~1328576.06 ops/s | 75.27ms