Перейти к содержимому


Фотография
- - - - -

Вывод данных из поля elements таблицы #__zoo_item в json


Лучший Ответ tapakan , 14 November 2014 - 12:35

попробуйте не echo а var_dump(json_decode($string, true)) или print_r(json_decode($string, true)).

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 11

#1 snserg

snserg

Отправлено 13 November 2014 - 11:21

Добрый день. 

Вопрос в следующем. Существует некая форма, заполняемая пользователями и сохраняющая данные в таблицу #__zoo_item,  поле elements   в виде нижеприведенного текста...

 

{ "7b622209-b5f3-47a3-9b1b-fb33326867d1":  { "0":  { "value": "\u0418\u0432\u0430\u043d" } }, "93faef6e-653d-47db-b370-26ed62efdf3e":  { "0":  { "value": "+79271111111" } }, "efac6198-fde6-41fb-8f5f-6e5690b1690e":  { "0":  { "list-0": "\u041a\u0440\u0430\u0441\u043d\u043e\u044f\u0440\u0441\u043a" } }, "e4359d3c-0d9e-4a27-bd49-e0db9fadc52c":  { "0":  { "list-0": "\u0417\u0435\u043c\u043b\u044f\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b" } }, "05a5625b-77da-4970-a1e7-0a700f8a0e13":  { "0":  { "value": "2000" } }, "c567b6ab-1ca9-4dcf-bdb2-ee481b743507":  { "0":  { "value": "\u0432\u0430\u043f\u0432\u0430\u043f" } }, "89f7fe7f-cf4d-4353-8530-c3ef2219a8b9":  { "0":  { "file": "images\/uploads\/user_42\/face-7.png" } }, "873fa0f1-f82d-43c8-bb23-00843a9c9150":  { "votes": "2", "value": "4.0000" }}

 

 

Мне необходимо извлечь эти данные и создать из них массив вида:

        id element                                                        данные 

'93faef6e-653d-47db-b370-26ed62efdf3e'=>"+79271111111"

 

и т.д. по всем полям, для дальнейшей передачи через json в xcode и eclipse. Реализовать это через select вроде как не сложно, если бы в тексте строки не указывались дополнительные данные вроде  { "0":  { "value":

 

Что пробовал: select - вытягиваем строку, preg_replace - убираем лишние для меня данные и затем переводим строку в массив. Возникают определенные проблемы. 

 

Затем обратил внимание на ваши хелперы и модели. Но, к сожалению, в php я не очень разбираюсь я больше по xcode... 

 

Буду благодарен за подсказку как мне сконвертировать вышеуказанные данные в нужные мне используя ваш внутренний код компонента.

 

Заранее благодарю.

 

 

 


  • 0

#2 Cheren-dow

Cheren-dow

Отправлено 13 November 2014 - 13:20

snserg, вы данные хотите получить в произвольном месте или же на странице данного материала? 


  • 0
Изображение
 

#3 snserg

snserg

Отправлено 13 November 2014 - 13:24

в произвольном месте. мне нужно в моем php скрипте создать массив из данных поля elements чтобы через json отправить данные в мое приложение на iphone


  • 0

#4 Cheren-dow

Cheren-dow

Отправлено 13 November 2014 - 13:36

Что пробовал: select - вытягиваем строку, preg_replace - убираем лишние для меня данные и затем переводим строку в массив. Возникают определенные проблемы. 

А пробовали распарсивать строку через json_decode

мне нужно в моем php скрипте

Он внутри Joomla т.е страница компонента или же это просто отдельный файл?


  • 0
Изображение
 

#5 snserg

snserg

Отправлено 13 November 2014 - 13:51

decode пробовал, но к сожалению не получилось. как я уже сказал в php не силен.

 

просто отдельный файл php, он полностью написан мной от начала и до конца.  лежит в одной из папок joomla и вызывает из xcode по обращению к серверу. после проверки верификации пользователя файл должен сделать выборку данных из elements и отправить их через json  моему приложению.


  • 0

#6 snserg

snserg

Отправлено 14 November 2014 - 09:22

ну что, господа, никаких идей?


  • 0

#7 tapakan

tapakan

Отправлено 14 November 2014 - 12:23

Не понимаю в чем проблема? json он и в Африке json

mmn0_200x0.png


Сообщение отредактировал tapakan: 14 November 2014 - 12:24

  • 0

#8 snserg

snserg

Отправлено 14 November 2014 - 12:29

проблема в том что команда  echo json_decode ($массив со строкой) дает мне чистый экран. подскажите точную команду...


  • 0

#9 tapakan

tapakan

Отправлено 14 November 2014 - 12:35   Лучший Ответ

попробуйте не echo а var_dump(json_decode($string, true)) или print_r(json_decode($string, true)).


Сообщение отредактировал tapakan: 14 November 2014 - 12:40

  • 0

#10 snserg

snserg

Отправлено 14 November 2014 - 13:10

спасибо, получилось. это я сглупил, у меня 5 строками выше по коду print_r есть ...

 

тогда если не трудно подскажите как извлечь из этой строки данные 

 

 

    [e4359d3c-0d9e-4a27-bd49-e0db9fadc52c] => stdClass Object

        (

            [0] => stdClass Object

                (

                    [list-0] => Земляные работы

                )


  • 0




Click to return to top of page in style!