Получение информации с другого сайта

Статус
В этой теме нельзя размещать новые ответы.
Пояснения кажуться очень размытыми, потому что желательно иметь базовые навыки языка с которым вы хотите работать.

Если посмотреть прошлую страницу, то скрипт заканчивается на тот же самый json_decode, а в $data будет та самая строка json

Поэтому продолжая код
Код:
...
$data=request('https://eds.mosreg.ru/api/claims?status=EXPIRED_RETURN_TO_DD');
echo $data;
$data_array=json_decode($data);

//Выводим
echo  'Результат;'
echo $json->value->content[0]->name.';';
//и т.д., структуру можно посмотреть через print_r($json);

Дописал в конце:

$data_array=json_decode($data, true);
echo 'Результат;'
echo $json->value->content[0]->name;

Ошибка 500.

<?php

$data_array=json_decode($data, true);


распаковывает json строку в массив (array)

$data_array=json_decode($data, true); - JSON остается без изменений.

Нашел, нужно еще вставить: var_dump($data_array); Тогда вроде появляется массив
 
Последнее редактирование:
Дописал в конце:



$data_array=json_decode($data, true); - JSON остается без изменений.

Нашел, нужно еще вставить: var_dump($data_array); Тогда вроде появляется массив


массив появился еще на этапе $data_array=json_decode($data, true);
а вот
var_dump($data_array); это уже вывод его на экран
вы точно так же могли написать print_r($data_array);
это тоже вывод на экран только чуть в другом виде чем var_dump.
 
массив появился еще на этапе $data_array=json_decode($data, true);
а вот
var_dump($data_array); это уже вывод его на экран
вы точно так же могли написать print_r($data_array);
это тоже вывод на экран только чуть в другом виде чем var_dump.
Верно. А как теперь достать значения? Так как код Minor выдает ошибку 500.
 
500 если пытаться обратить к массиву как к объекту или наоборот.

сделайте так:

$data_array=json_decode($data, true);
echo "<pre>";
print_r($data_array);
echo "</pre>";

и скиньте скрин сюда или ссылку дайте где посмотреть.
 
500 если пытаться обратить к массиву как к объекту или наоборот.

сделайте так:

$data_array=json_decode($data, true);
echo "<pre>";
print_r($data_array);
echo "</pre>";

и скиньте скрин сюда или ссылку дайте где посмотреть.

Код:
{"result":"OK","message":null,"redirect":null,"value":{"content":[{"id":54448,"visible":true,"extId":"2464662","compositeId":"13103-23-02-2019-16","name":"Москва, Вернадского, 32","flat":null,"phone":null,"author":"Виктория","authorUsername":"agent@yandex.ru","authorEmail":"agent@yandex.ru","description":"
Москва, Вернадского, 32
Поссажирский лифт по полу начинает ржаветь.Решить эту проблему можно если поставить видеонаблюдение в лифтах чтобы поймать того кто это делает и строго наказать.","created":"23 февраля 2019 07:45","deadline":"24 февраля 2019 07:45","changed":"24 февраля 2019 08:00","company":{"id":13103,"inn":"1234567890","name":"ООО \"Рога\"Копыта\"","email":"info@mail.ru","phone":null},"address":{"id":596703,"address":"
Москва, Вернадского, 32
","created":null,"changed":null,"companyId":13103,"districtId":119,"districtDDId":25},"status":"EXPIRED_RETURN_TO_DD","category":{"id":239,"name":"3.14. Ненадлежащее санитарное состояние подъездов и лифтов (нарушение периодичности уборки, наличие мусора и грязи, насекомые, грызуны, запах)","group":"3. Содержание подъездов","categoryId":22,"visible":false,"deadline":24.0,"deadlineGzi":72.0,"canBeDD":true,"workingHours":false,"workingHoursGZI":false},"responses":[{"comment":null,"claimId":54448,"id":98036,"status":"EXPIRED_RETURN_TO_DD","created":null,"author":"admin@admin.ru","answerId":null,"answer":null,"images":[]}],"images":[],"files":[],"initiator":"Житель"}],"totalPages":1,"totalElements":1,"last":true,"number":0,"size":10,"numberOfElements":1,"sort":[{"direction":"DESC","property":"id","ignoreCase":false,"nullHandling":"NATIVE","ascending":false,"descending":true}],"first":true}}
Array
(
    [result] => OK
    [message] =>
    [redirect] =>
    [value] => Array
        (
            [content] => Array
                (
                    [0] => Array
                        (
                            [id] => 54448
                            [visible] => 1
                            [extId] => 2464662
                            [compositeId] => 13103-23-02-2019-16
                            [name] => Москва, Вернадского, 32
                            [flat] =>
                            [phone] =>
                            [author] => Виктория
                            [authorUsername] => agent@yandex.ru
                            [authorEmail] => gent@yandex.ru
                            [description] => Москва, Вернадского, 32
Поссажирский лифт по полу начинает ржаветьРешить эту проблему можно если поставить видеонаблюдение в лифтах чтобы поймать того кто это делает и строго наказать.
                            [created] => 23 февраля 2019 07:45
                            [deadline] => 24 февраля 2019 07:45
                            [changed] => 24 февраля 2019 08:00
                            [company] => Array
                                (
                                    [id] => 13103
                                    [inn] => 1234567890
                                    [name] => ООО "Рога "Копыта"
                                    => info@mail.ru
                                    [phone] =>
                                )

                            [address] => Array
                                (
                                    [id] => 596703
                                    [address] => Москва, Вернадского, 32
                                    [created] =>
                                    [changed] =>
                                    [companyId] => 13103
                                    [districtId] => 119
                                    [districtDDId] => 25
                                )

                            [status] => EXPIRED_RETURN_TO_DD
                            [category] => Array
                                (
                                    [id] => 239
                                    [name] => 3.14. Ненадлежащее санитарное состояние подъездов и лифтов (нарушение периодичности уборки, наличие мусора и грязи, насекомые, грызуны, запах)
                                    [group] => 3. Содержание подъездов
                                    [categoryId] => 22
                                    [visible] =>
                                    [deadline] => 24
                                    [deadlineGzi] => 72
                                    [canBeDD] => 1
                                    [workingHours] =>
                                    [workingHoursGZI] =>
                                )

                            [responses] => Array
                                (
                                    [0] => Array
                                        (
                                            [comment] =>
                                            [claimId] => 54448
                                            [id] => 98036
                                            [status] => EXPIRED_RETURN_TO_DD
                                            [created] =>
                                            [author] => admin@admin.ru
                                            [answerId] =>
                                            [answer] =>
                                            [images] => Array
                                                (
                                                )

                                        )

                                )

                            [images] => Array
                                (
                                )

                            [files] => Array
                                (
                                )

                            [initiator] => Житель
                        )

                )

            [totalPages] => 1
            [totalElements] => 1
            [last] => 1
            [number] => 0
            [size] => 10
            [numberOfElements] => 1
            [sort] => Array
                (
                    [0] => Array
                        (
                            [direction] => DESC
                            [property] => id
                            [ignoreCase] =>
                            [nullHandling] => NATIVE
                            [ascending] =>
                            [descending] => 1
                        )

                )

            [first] => 1
        )

)
 
Последнее редактирование:
500 потому что
echo 'Результат;'
; надо за кавычку перенести
 
{"result":"OK","message":null,"redirect":null,"value":{"content":[{"id":54448,"visible":true,"extId":"2464662","compositeId":"13103-23-02-2019-16","name":"Москва, Вернадского, 32","flat":null,"phone":null,"author":"Виктория","authorUsername":"agent@yandex.ru","authorEmail":"agent@yandex.ru","description":"
Москва, Вернадского, 32
......


отлично. у вас на выходе массив $data_array
чтобы получить поле
Код:
Array
(
  [result] => OK
делаете
Код:
echo $data_array['result'];

чтобы получить
Код:
Array
(
           [value] => Array
                                (
                                 [content] => Array
                                               (
                                              [0] => Array
                                                        (
                                                       [id] => 54448
делаете
Код:
echo $data_array['value']['content'][0]['id'];
 
отлично. у вас на выходе массив $data_array
чтобы получить поле
Код:
Array
(
  [result] => OK
делаете
Код:
echo $data_array['result'];

чтобы получить
Код:
Array
(
           [value] => Array
                                (
                                 [content] => Array
                                               (
                                              [0] => Array
                                                        (
                                                       [id] => 54448
делаете
Код:
echo $data_array['value']['content'][0]['id'];
С выводом вроде разобрался, спасибо))))) Осталось непонятным:
1. Результат вывода данных почему то пишется внизу всего кода, т.е. идет весь JSON, а снизу него уже результат нужных мне данных, как убрать код JSON, что бы был чистый результат?
2. Как между данными вставить знак ";" без пробелов.
3. Получиться должно вот так: Результат;Москва, Вернадского, 32;Виктория;agent@yandex.ru
4. Как в конце все записать в фаил Результат.txt?

500 потому что
echo 'Результат;'
; надо за кавычку перенести

Добавил echo 'Результат'; - все получилось! Спасибо!

P.S. Ребят, я Вас обожаю!!! Спасибо за помощь!
 
Последнее редактирование:
С выводом вроде разобрался, спасибо))))) Осталось непонятным:
1. Результат вывода данных почему то пишется внизу всего кода, т.е. идет весь JSON, а снизу него уже результат нужных мне данных, как убрать код JSON, что бы был чистый результат?
2. Как между данными вставить знак ";" без пробелов.
3. Получиться должно вот так: Результат;Москва, Вернадского, 32;Виктория;agent@yandex.ru
4. Как в конце все записать в фаил Результат.txt?



Добавил echo 'Результат'; - все получилось! Спасибо!

P.S. Ребят, я Вас обожаю!!! Спасибо за помощь!


1. где то выше есть echo $data; - вывод изначального Ясона = это надо убрать
2. вариантов куча - разбить на элементы массива expplode ";" и сборка назад implode "; "
но я бы поленился и тупо сделал бы автозамену str_trplace(";", "; ", $переменнаядляподмены )
4.

$fp = fopen('Результат.txt', 'w');
fwrite($fp, 'строка 1');
fwrite($fp, 'строка 2');
fclose($fp);
 
1. где то выше есть echo $data; - вывод изначального Ясона = это надо убрать
2. вариантов куча - разбить на элементы массива expplode ";" и сборка назад implode "; "
но я бы поленился и тупо сделал бы автозамену str_trplace(";", "; ", $переменнаядляподмены )
4.

$fp = fopen('Результат.txt', 'w');
fwrite($fp, 'строка 1');
fwrite($fp, 'строка 2');
fclose($fp);
1. Конечный код, не вижу данного значения:

Код:
$data=request('https://eds.mosreg.ru/api/claims?status=EXPIRED_RETURN_TO_DD');
echo $data;
$data_array=json_decode($data, true);
echo "<pre>";
print_r($data_array);
echo "</pre>";
echo 'Результат';
echo $data_array['value']['content'][0]['name'];
echo $data_array['value']['content'][0]['author'];
echo $data_array['value']['content'][0]['description'];
echo $data_array['value']['content'][0]['authorEmail'];
echo $data_array['value']['content'][0]['phone'];
echo $data_array['value']['content'][0]['category']['name'];

2. Заменять нечего. В результате значения пишутся в одну строку, слитно между значениями. Т.е. Нужно, как то вставить. Или имеет ввиду вставить между строками: echo $data_array['value']['content'][0][company]['name']; и какой то код написать, что бы он менял данный результат на ";"? Как правильно прописать?

4. fwrite($fp, 'строка 1');
fwrite($fp, 'строка 2'); -
не совсем понятно, что за строки?
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху