Renderingla

json

Syntax:

Category

type

Related

None.

Examples

examples/corpus/json/json.fab (canonical · type)

importa ex "norma:json" privata json

@ json
genus Payload {
    @ json { nomen = "wire_name" }
    textus name
}

incipit {
    fixum json literal ← { "wire_name": "Ada", "items": [1, { "ok": true }] }
    fixum valor broad ← literal ↦ valor
    fixum json narrowed ← broad ↦ json

    fixum Payload payload ← narrowed ↦ Payload
    fixum json encoded ← payload ↦ json
    fixum textus wire ← json.pange(encoded)
    fixum json ∪ nihil tentativa ← json.tempta(wire)

    nota payload.name
    nota wire
    nota tentativa

    fac {
        fixum json reparsed ← json.solve(wire)
        fixum Payload roundtrip ← reparsed ↦ Payload
        nota roundtrip.name
    }
    cape err {
        nota err
    }
}