| ... | @@ -743,7 +743,16 @@ pub fn stringify(writer: anytype, value: anytype, options: std.json.Stringify.Op | ... | @@ -743,7 +743,16 @@ pub fn stringify(writer: anytype, value: anytype, options: std.json.Stringify.Op |
| 743 | try writer.writeAll("\""); | 743 | try writer.writeAll("\""); |
| 744 | } | 744 | } |
| 745 | } else { | 745 | } else { |
| 746 | var view = std.unicode.Utf8View.init(value) catch return error.Unexpected; | 746 | var view = std.unicode.Utf8View.init(value) catch { |
| | 747 | try writer.writeAll("\""); |
| | 748 | for (value) |c| { |
| | 749 | try writer.writeAll(switch (c) { |
| | 750 | else => "\\u00" ++ extras.to_hex([_]u8{c}), |
| | 751 | }); |
| | 752 | } |
| | 753 | try writer.writeAll("\""); |
| | 754 | return; |
| | 755 | }; |
| 747 | var iter = view.iterator(); | 756 | var iter = view.iterator(); |
| 748 | try writer.writeAll("\""); | 757 | try writer.writeAll("\""); |
| 749 | while (iter.nextCodepointSlice()) |sl| { | 758 | while (iter.nextCodepointSlice()) |sl| { |