diff --git a/json.zig b/json.zig index 767e713fdcea1a7dde2621c0d04b8fc198199c96..b5341d6ee54ac4e82c2e39e20a052da2d1821737 100644 --- a/json.zig +++ b/json.zig @@ -808,6 +808,20 @@ pub fn stringify(writer: anytype, value: anytype, options: std.json.Stringify.Op .bool => { try writer.writeAll(if (value) "true" else "false"); }, + .@"union" => { + switch (value) { + inline else => |v, t| { + try writer.writeAll("{"); + try stringify(writer, @tagName(t), options); + try writer.writeAll(":"); + try stringify(writer, v, options); + try writer.writeAll("}"); + }, + } + }, + .void => { + try writer.writeAll("{}"); + }, else => @compileError(@typeName(T)), } }