diff --git a/json.zig b/json.zig index 92959e371aaed33998739bece6745137eccbc124..dac73775b0b876faff496841e88c330710a4a107 100644 --- a/json.zig +++ b/json.zig @@ -134,7 +134,9 @@ fn parseString(alloc: std.mem.Allocator, p: *Parser) anyerror!?StringIndex { break; } if (c != '\\') { - try characters.append(@intCast(c)); + const l = std.unicode.utf8CodepointSequenceLength(c) catch unreachable; + const b = p.temp.items[p.idx - l ..][0..l]; + try characters.appendSlice(b); continue; } switch (try p.shift()) {