PHP- Decode JSON

Tengo la siguiente secuencia de comandos para obtener los resultados de búsqueda de una API y luego cortar la matriz y volcarla. Tengo problemas para descodificar la JSON en una matriz, devuelve Array(0) { } Es un código abreviado de wordpress.

Aquí hay una muestra del Json que se obtiene de la API:

 [ { "barcode": "000015426950", "name": "Karen's cowboy", "author": "Ann", "author_last": "Martin", "publisher": "New York : Scholastic, c2000.", "year_pub": "", "edition": "", "genre": "", "checkout": "out", "series": "", "callnum": "MAR", "fiction": "true", "in_house": "false", "timestamp": "1355835387", "outto": "000008388615", "duedate": "1372005722", "ISBN": "059052528X", "media_type": "", "print": "false", "BOXID": "2147483647", "uid": "10", "printed": "" }, { "barcode": "000015426949", "name": "Karen's yo-yo", "author": "Ann M", "author_last": "Martin", "publisher": "New York : Scholastic, c2000.", "year_pub": "", "edition": "", "genre": "", "checkout": "out", "series": "", "callnum": "MAR", "fiction": "true", "in_house": "false", "timestamp": "1355835343", "outto": "000008388615", "duedate": "1373216918", "ISBN": "0590525115", "media_type": "", "print": "false", "BOXID": "", "uid": "10", "printed": "" }, ... } ] 

Aquí está el código usado para obtener el JSON y paginarlo ,:

 function book_search_form() { ?> 
<input type='text' name='searchvalue' value='' /> 

...
<? echo '
'; echo $recordsToBeDisplayed; echo '

';?>

<?php }

Solutions Collecting From Web of "PHP- Decode JSON"

Prueba json_decode

 $array = json_decode($data, true); 

Entonces obtendrás una matriz en lugar de un objeto.

Ejemplo # 1 Ejemplos de json_decode ()

 < ?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?> 

El ejemplo anterior dará como resultado:

 object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } 

Separe su php de html por favor, use sangría y:

 $array = json_decode($data, TRUE); //second param used for associative array return Example #1 json_decode() examples < ?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?> The above example will output: object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } 

PD: De la Biblia ( http://php.net/manual/en/function.json-decode.php )

Si la entrada está en formato de matriz, entonces también puede usar la misma función json_decode . Solo necesita aplicar loop para el resultado.

json = ‘{

“a1”: {“campo1”: “nombre1”, “campo2”: edad1, “campo3”: “país1”},

“a2”: {“campo1”: “nombre2”, “campo2”: edad2, “campo3”: “país2”},

“a3”: {“campo1”: “nombre3”, “campo2”: edad3, “campo3”: “país3”}} ‘;

$ Array = json_decode ($ json, verdadero);

foreach ($ Array as $ key => $ value)
{

  echo " $key "; foreach ($value as $k => $val) { echo "$k | $val 
"; }

}