2011-08-03 13 views
5

Duplicar posible:
Extract JSONP Resultset in PHPcómo analizar JSONP con PHP

tengo la respuesta en el siguiente formato. Me enfrento a problemas para entrar dentro de la variable "Plugin" y acceder a otras variables dentro de ella. Utilicé json_decode(), pero no puedo acceder a las variables.

Plugin 
(
{ 

"plugin_a":"abc", 
"plugin_b":"abc", 
"plugin_c":"abc" 
} 
) 

me trataron

$a = json_decode($json,true); 
echo $a['plugin_a']; 

no consigo ninguna salida.

echo var_dump($json); me da

string 'Plugin({ 
    "plugin_a":"abc", 
    "plugin_b":"abc", 
    "plugin_ce":"abc" })' 
+1

¿Has probado var_dump ($ a)? – Zaffy

+1

Eso no es válido JSON ... –

+0

Gracias a todos por su rápida respuesta ... este código fue resuelto por el problema http://codepad.org/eJXeaXIO – simplyblue

Respuesta

0

substr try();

http://sandbox.phpcode.eu/g/40c20.php

<?php 
$json = substr('Plugin 
(
{ 

"plugin_a":"abc", 
"plugin_b":"abc", 
"plugin_c":"abc" 
} 
)', 9, -1); 

print_r(json_decode($json)); 
+3

un enfoque más general sería preg_match todo entre la primera apertura (y el último cierre) – Gordon

+0

Gracias ... este código resolvió mi problema. http://codepad.org/eJXeaXIO – simplyblue

0

Tal vez esto va a funcionar para usted:

$data=array('plugin_a'=>'abc','plugin_b'=>'bcd','plugin_c'=>'cde'); 
$json='{"Plugin":'.json_encode($data).'}'; 
$a=json_decode($json,true); 
echo $a['Plugin']['plugin_a']; 

Parece como si la matriz JSON real puede no tener integridad. Si esta solución no se ajusta, ¿puedes publicar el código que realmente construye la matriz json?