Skip to content

etconsilium/php-json-fix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

invalid JSON fix

installation

composer.json

{
	require: {
		"etconsilium/php-json-fix": "*"
	}
}

description

Скрипт чинит некоторые известные проблемы:

  • пустые значения
  • забытые запятые в конце массивов
  • спецсимволы вроде \x0
  • в качестве бонуса удаляет js-style комментарии
  • @TODO: требуется обработка кавычек: как замена одиночных на двойные, так и закавычивание голых данных

Сразу раскрою секрет: всё это во имя вселенской справедливости и удобной работы с конфигами. Но, чтобы не возиться с обёртками данных каждый раз, используется жёсткий хак с подменой стандартных функции PHP через runkit. Так как APD и runkit являются библиотеками pecl, и при этом не имеют работающих пакетов для акутальных версий языка, рункит собирается из исходников. Детали установки см. composer.json & pre-install.sh. Проверено на Debian8 + PHP5.6.2-cli.

Источники вдохновения перечислены в коде.

enjoy! :)

ps: считаю излишним писать объектный интерфейс, ибо тысячи их, или функции вроде json_fix() и json_restore(), ибо вы либо ставите пакет и юзаете хак везде, либо нет.

About

Proxy json_decode() and Fix invalid JSON

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published