I think it's something like:
File: mydata.json
{
"dataConsulta": "2015-08-02 00:33:20",
"listaUsuarios": [
{
"idUsuario": 1,
"nome": "Renan",
"idade": "23",
"listaEspecialidades": ["PHP", "JS", "MySQL"]
},
{
"idUsuario": 2,
"nome": "Denali",
"idade": "23",
"listaEspecialidades": ["PHP", "JS", "MySQL", ".NET", "SQL Server"]
}
],
"mensagem": "2 registros encontrados",
"especialidadesComuns": "PHP, JS, MySQL"
}
File: uploadJson.php
//Move o arquivo para um lugar do servidor (A pasta já deve estar criada neste caso)
move_uploaded_file($_FILES['arquivo']['tmp_name'], $dstDir);
//Pega o conteúdo do arquivo
$fileContent = file_get_contents($dstDir);
$objJson = json_decode($fileContent);
//Agora use o json da forma como quiser
//Ex.: Lista todos usuários e suas especialidades
if(sizeof($objJson->listaUsuarios)){
foreach($objJson->listaUsuarios as $usuario){
echo "Nome: ".$usuario->nome.";";
if(sizeof($usuario->listaEspecialidades)){
echo "Especialidades: ";
echo implode(", ", $usuario->listaEspecialidades);
}
echo "<br>";
}
}
echo $objJson->mensagem." - Consulta realizada em: ".date("d/m/Y H:i:s", strtotime($objJson->dataConsulta))."<br>";
if($objJson->especialidadesComuns){
echo "Algumas especialidades são comuns entre os usuários: ".$objJson->especialidadesComuns;
}
}
?>
<form id="meu-form" enctype="multipart/form-data">
<p>Selecione o arquivo: <input type="file" name="arquivo"></p>
<input type="submit" value="Enviar">
</form>
The json_decode function of PHP is very powerful, turning your text into an object. If you need to execute methods with the received data, I suggest that you use a recursive loader to populate the instances of your classes with the objects received with json.
I hope I have helped!