Zig
Jump to navigation
Jump to search
Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
https://ziglang.org/documentation/master/#Introduction
const std = @import("std"); const json = std.json; const payload = \\{ \\ "vals": { \\ "testing": 1, \\ "production": 42 \\ }, \\ "uptime": 9999 \\} ; const Config = struct { vals: struct { testing: u8, production: u8 }, uptime: u64, }; const config = x: { var stream = json.TokenStream.init(payload); const res = json.parse(Config, &stream, .{}); // Assert no error can occur since we are // parsing this JSON at comptime! break :x res catch unreachable; }; pub fn main() !void { if (config.vals.production > 50) { @compileError("only up to 50 supported"); } std.log.info("up={d}", .{config.uptime}); }