Я не знал об этой функции. Спасибо!
Оказалось, что данные для json_decode должны подавать только в utf-8 кодировке, а была win-1251.
В итоге после
$out=file_get_contents($link);
$out = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode($out));
$r=json_decode($out,true);
var_dump($r);
Выводит структуру массива.
Спасибо!