peppy
STJ: Prevent or reverse escaping of base64 string during deserialization
I am using STJ to decode a structure with a string member; the string contains an image in base64 format. Even with
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
set in the JsonSerializerOptions
passed to the JsonSerializer.Deserialize
call, the input is escaped:
Can I obtain the unmodified input in any way?
Reading through the docs, I understand that STJ, in the name of safety, has a blacklist of things it will escape regardless of the user's preferences. It seems to me like I can't prevent it from doing it.
I tried Regex.Unescape
to reverse it, but it does not seem to work, possibly because of the missing backslash in front of u002B. How can I obtain the input exactly as given?1 replies
❔ Default implementation of a `static abstract` base interface member in derived interface
I am trying to implement an idea I saw in MessagePack for C#:
where using
static abstract
surfaces the methods on the type itself, which I find very useful.
I came up with this:
Now- if T
were a struct, I can provide good default impls, so I declare a derived interface that constrains T
:
Can this interface now declare a default implementation of the static abstract members of IDispatchable<T>
such that implementing structs surface that default implementation?
I know the derived interface can declare an explicit impl of the base interface method, but then the explicit impl is not available through the struct's type as I expect static abstract/virtual
members to be.
If this is not the correct way to approach this, I'm open to all suggestions on how I can provide specialized behavior to structs in this particular instance. Thank you!8 replies