/
githubmirror
/
strapi
Обзор
Документация
Войти
/
githubmirror
/
strapi
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/core/database/src/fields/json.ts
38 строк
855 B
Nico André
chore(lint): add non-blocking oxlint setup (#26923)
31 июл 2026, 16:56
Не верифицирован
31 июл 2026, 16:56
6469af3
Код
Авторство
О чём код?
import Field from './field'; export default class JSONField extends Field { toDB(value: unknown) { if (value == null) { return null; } if (typeof value === 'object') { return JSON.stringify(value); } return value; } fromDB(value: unknown) { try { if (typeof value === 'string') { const parsedValue = JSON.parse(value); /** * On Strapi 5 until 5.0.0-rc.7, the values were accidentally stringified twice when saved, * so in those cases we need to parse them twice to retrieve the actual value. */ if (typeof parsedValue === 'string') { return JSON.parse(parsedValue); } return parsedValue; } } catch { // Just return the value if it's not a valid JSON string return value; } return value; } }