2015-06-26 3 views
1

JSON Я просто играл Google Plus службы, и я увидел, что ответ от Google server.And Это выглядело как-то нижекак разобрать этот вид

)]}' 

[[["er",,,,,405,,,,9] 
,["di",22,,,,,[] 
,[] 
,,,[] 
,[] 
,[] 
] 
,["e",3,,,81] 
]] 

Я удалил )]}' от ответа и пытался сделать json-декодирование.

$arr = json_decode($response,true) 
var_dump($arr); 

Но я адресность ошибки на месте, как множественный commas..Can кто-то просветить меня, как Google разобрать его json.Or является его даже JSON или что-то другое.

+0

Это не является допустимым JSON, вы можете изменить способ, которым это формируемые? И на самом деле, как он сгенерирован? – vitozev

+0

@unixarmy: Неофициальный, https://plus.google.com/_/explore?soc-app=1&cid=0&soc-platform=1&ozv=es_oz_20150623.06_p1&f.sid=-6663745606917757494&_reqid=4133&rt=j .. Но я просто интересно, как это работает. – Vishnu

ответ

1

Этот код, вероятно, непосредственно вводится в виде «новой функции» или тега сценария. Первая часть, похоже, заканчивается предыдущим утверждением.

В любом случае, я не уверен, что именно он используется и, возможно, есть некоторые замены, прежде чем фактически работать с этими данными.

Но для решения вашей проблемы: Вам необходимо заменить все неопределенные индексы нулевым. Что-то вдоль линий:

while(strpos($response, ",,") !== false) { 
    $response = str_replace(",,", ",null,", $response); 
} 
$response = str_replace("[,", "[null,", $response); 
$response = str_replace(",]", ",null]", $response); 
$arr = json_decode($response,true); 
var_dump($arr); 
+0

работает красиво, спасибо – Vishnu

Смежные вопросы