2017-02-20 4 views
1

У меня есть недопустимый формат JSON возвращения из внешнего источника, который выглядит как этотDecode недействителен JSON в PHP

USER SAVED IN DB.{"user":{"_token":"9ylCAviuuCaNlCtXNya5pEXkY8vkJepZAohsG5VI","submit":"engageiq_post_data","affiliate_id":"","campaign_id":"","offer_id":"","s1":"","s2":"","s3":"","s4":"","s5":"","address":"","phone1":"","phone2":"","phone3":"","phone":"","source_url":"http:\/\/pfr_laravel.dev\/registration","ip":"192.168.10.1","screen_view":"1","first_name":"fff","last_name":"ff","email":"[email protected]","zip":"00501","birthdate":"","dobmonth":"04","dobday":"12","dobyear":"1965","gender":"M","chk_agree":"","submitBtn":"Submit","state":"NY","city":"Holtsville","revenue_tracker_id":1},"revenue_tracker_id":1,"path_type":2,"campaigns":[[1,15,25,48,38,23,44],[245],[249],[27,4,19,181,18],[16],[246],[51,52,151],[10],[26,2,185,180,45,184,182]],"creatives":[]} 

Это возвращение нулевой, если я пытаюсь расшифровать

json_decode($myjson, true) 

Я только хочу path_type ключ и его значение

Так что в моем коде я должен был бы это

if (path_type == 2){} 

Любые идеи?

+0

предполагается ли это _USER СПАС В DB._ быть там? – MrDarkLynx

+0

Да. Я думаю, что это является причиной результата null –

+0

Это недействительно JSON. Вам нужно будет начать с '{" user ":' ... – MrDarkLynx

ответ

0

Сначала вы хотите удалить ненужную строку из своего JSON.
Затем вы хотите сохранить декодированного JSON в переменную и проверьте тип пути:

$myjson = substr($myjson, 17); // remove bulk from JSON 

$data = json_decode($myjson, true); 

if ($data['path_type'] == 2) { 
    // code 
} 
1

Расширяя @ ответ MrDarkLynx, я хотел бы использовать это регулярное выражение: ^(.+?){"user" Используйте, что регулярное выражение, чтобы удалить все, прежде чем {"user", обязательно удалите первую захваченную группу.

Теперь вы будете иметь действительный JSON, вы можете использовать =)

+0

Я думаю, что это лучшее решение, но на данный момент я использую ответ MrDarkLynx, поскольку он работает для меня. –