Macro

Json

macro Json(context: TokenTreeMacroContext) -> ExpressionSyntax<JsonObject>

Namespace: Raven.Macros
Assembly: Raven.Macros.dll
Source file: Json.rvn

Constructs a System.Text.Json.Nodes.JsonObject from JSON-shaped source.

The macro body's braces are the JSON object's braces. $name and ${expression} insert Raven values in JSON value position and retain Raven's ordinary string-interpolation meaning inside JSON strings.

Example

import Raven.Macros.*

let name = "Ada"
let age = 42
let value = json! {
    "name": "$name",
    "age": $age,
    "active": true
}