Задать вопрос
@Beefeater

Как спарсить JSON?

Добрый день
Пишу для себя простой style switcher, но столкнулся с тем, что нужно использовать php. Как написать простой парсер JSON? А то никто за такое просто задание браться не хочет, а сам провожусь несколько дней.
В файл с PHP я Ajax'ом отправлю JSON вида:
{
	"url" : [
		{"url1" : "Относительный путь к файлу, который нужно изменить"},
		{"url2" : "Относительный путь к файлу, который нужно изменить"}
	],
	"change" : [
		{"to":"#000","from":"#fff"},
		{"to":"#000","from":"red"},
		{"to":"#000","from":"green"}
	]
}

Нужно пройтись по всем url, и заменить все встречающиеся значения в этих файлах с from на to
Заранее спасибо
  • Вопрос задан
  • 264 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 2
@entermix
В гугле забанили?

www.php.net/manual/ru/function.json-decode.php

UPD: Как-то так:
$array = json_decode($src, true); // Декодируем

if (count($array['url']) > 0) {
    foreach ($array['url'] as $url) {
        if (file_exists($url['url'])) {
            
            $text = file_get_contents($url['url']); // Получаем файл в строку
            
            if (count($array['change']) > 0){
                foreach ($array['change'] as $change){
                    $text = str_replace($change['from'], $change['to'], $text); // Производим замену
                }
            }
            file_put_contents($url['url'], $new_text); // Записываем обратно в файл
            
        } else {
            echo 'File ' . $url['url'] . ' Not Found';
        }
    }
}
Ответ написан
copist
@copist
Empower people to give
$json = file_get_contents('php://input'); // получить JSON из HTTP запроса
$array = json_decode($json, true); // декодировать в массив
var_export($array); // и пользуйся на здоровье


copi.st/Qb8Q on StackOverflow about php://input
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы