parsowanie json

0

hej. pomozcie bo juz dlugo nad tym walcze.
wysylam curlem zapytanie i potrzebuje sparsowac wynik

{
"status": {
"statusCode": "ERROR_VALUE_INVALID",
"code": "8000",
"codeLiteral": "INVALID_TOKEN",
"statusDesc": "Invalidtoken"
}
}

 $result = curl_exec($ch);
$json = json_decode($result);
var_dump($json);

gdy wyswietlam result, dostaje wynik
gdy $json dostaje NULL
gdy probuje $k=preg_replace('/\s+/', '',$result);
wynik zwraca prawidlowo. ale gdy zmienna k wrzuce w json_decode to dostaje []

pomozcie, jak to sparsowac

0

Kod jest poprawny - sprawdź tutaj:
http://sandbox.onlinephpfunctions.com/code/30cc821602b9a7ada8dad578d25a06ba23454824
Działa, a Twój błąd musi tkwić w innym miejscu.

0

json_decode() zwraca null wtedy kiedy faktycznie JSON który przyjdzie ma w sobie null, albo kiedy próbujesz sparsować niepoprawnego JSON'a (obstawiam to drugie).

Żeby lepiej sprawdzić co nie działa wywołaj sobie to: http://php.net/manual/en/function.json-last-error.php

0

Zapisz wynik $result do pliku i pokaż jako załącznik, może jakieś białe znaki są albo nie wyłączyłeś nagłówków z odpowiedzi w cURL.

0

W opcjach curla masz ustawione CURLOPT_RETURNTRANSFER ?

0

tak, mam ustawione returntransfer.
zauwazylem ze gdy korzystam z slim framework to wystepuje ten problem.
ale gdy w czystym php wykonam kod to bez problemowo moge sparsowac jsona

1 użytkowników online, w tym zalogowanych: 0, gości: 1