Function: safeJsonParse()
safeJsonParse<
T>(json:string,validator: (data:unknown) =>data is T):SafeJsonResult<T>
Defined in: shared/utils/jsonSafety.ts:114
Parses a JSON string and validates the resulting value with a type guard.
Type Parametersβ
Tβ
T
Validated shape returned on success.
Parametersβ
jsonβ
string
Raw JSON string to parse.
validatorβ
(data: unknown) => data is T
Custom type guard ensuring the parsed value satisfies T.
Returnsβ
Structured result containing either the parsed value or a message.
Remarksβ
Any failureβsyntactic or semanticβbecomes a structured error message inside the returned SafeJsonResult object, so callers never need try/catch for parsing.
Exampleβ
import { logger } from "@app/services/logger";
const result = safeJsonParse(jsonString, (data): data is User => {
    return (
        typeof data === "object" &&
        data !== null &&
        typeof (data as User).id === "string" &&
        typeof (data as User).name === "string"
    );
});
if (result.success && result.data) {
    logger.info("Parsed user", { name: result.data.name });
} else {
    logger.error("Failed to parse user", result.error);
}