@ -757,21 +757,21 @@ def _validate_value_with_model_field(
if isinstance ( value , FastAPIOptimizedJsonBytes ) :
if isinstance ( value , FastAPIOptimizedJsonBytes ) :
try :
try :
return field . validate_json ( value , values , loc = loc )
return field . validate_json ( value , values , loc = loc )
except NotImplementedError :
except NotImplementedError : # pragma: no cover
try :
try : # pragma: no cover
import json
import json # pragma: no cover
value = json . loads ( value )
value = json . loads ( value ) # pragma: no cover
except json . JSONDecodeError as e :
except json . JSONDecodeError as e : # pragma: no cover
return None , [
return None , [ # pragma: no cover
{
{ # pragma: no cover
" type " : " json_invalid " ,
" type " : " json_invalid " , # pragma: no cover
" loc " : loc ,
" loc " : loc , # pragma: no cover
" msg " : " JSON decode error " ,
" msg " : " JSON decode error " , # pragma: no cover
" input " : { } ,
" input " : { } , # pragma: no cover
" ctx " : { " error " : e . msg } ,
" ctx " : { " error " : e . msg } , # pragma: no cover
}
} # pragma: no cover
]
] # pragma: no cover
return field . validate ( value , values , loc = loc )
return field . validate ( value , values , loc = loc )
# If it's a scalar and we have bytes, we MUST decode it first because Pydantic's
# If it's a scalar and we have bytes, we MUST decode it first because Pydantic's