By: Tom Sydney Kerckhove <syd@cs-syd.eu>
JSONLD: tolerate unescaped control characters in script bodies Some sites emit literal newlines (and other control characters) inside JSON string values in their ld+json scripts, which is invalid JSON that JSON.decode rejects, causing the whole event to be silently dropped. Escape control characters and re-try decoding. This is a pure repair: valid JSON never contains raw control characters inside a string, so it is a no-op on well-formed input and only ever rescues otherwise unparseable input.