zena:json
zena
import {…} from 'zena:json';
Classes
SourceLocation
zena
final class SourceLocation
JsonObject
zena
class JsonObject
Constructors
zena
new(withLocations: boolean = false)
Properties
zena
size: i32 { get; }
Methods
zena
static withLocations(): JsonObject
zena
has(key: String): boolean
zena
delete(key: String): boolean
zena
locationOf(key: String): SourceLocation | null
zena
setLocation(key: String, loc: SourceLocation): void
zena
forEach(callback: (key: String, value: JsonValue) => void): void
zena
stringify(): String
JsonArray
zena
class JsonArray
JsonParseError
zena
class JsonParseError extends Error
Constructors
zena
new(message: String, line: i32, column: i32)
JsonBuilder
zena
class JsonBuilder
JsonBuilder - Streaming JSON construction
Provides a fluent API for building JSON strings incrementally.
Example: let json = new JsonBuilder() .beginObject() .key("name").string("example") .key("count").i32(42) .key("items").beginArray() .string("a") .string("b") .endArray() .endObject() .toString(); // {"name":"example","count":42,"items":["a","b"]}
Methods
zena
beginObject(): JsonBuilder
zena
endObject(): JsonBuilder
zena
beginArray(): JsonBuilder
zena
endArray(): JsonBuilder
zena
key(k: String): JsonBuilder
zena
string(v: String): JsonBuilder
zena
i32(v: i32): JsonBuilder
zena
i64(v: i64): JsonBuilder
zena
f64(v: f64): JsonBuilder
zena
bool(v: boolean): JsonBuilder
zena
nullValue(): JsonBuilder
zena
raw(json: String): JsonBuilder
zena
toString(): String
Type aliases
JsonValue
zena
type JsonValue = JsonObject | JsonArray | String | Box<f64> | Box<boolean> | null
JsonOptions
zena
type JsonOptions = {allowComments: boolean, trackLocations: boolean}
Functions
stringify
zena
function stringify(value: JsonValue, indent: String | null = null): String
Serialize any JSON value to a string.
parseJson
zena
function parseJson(input: String, options: JsonOptions | null = null): JsonValue
jsonGet
zena
function jsonGet(value: JsonValue, path: String): JsonValue