bonjours, je transmet un json via ajax a un fichier php
ce fichier php décode le json et doit reconstruire un array (key,valeur) des données contenu dans le json.

mais je n'arrive pas a récupérer la key après le json_decode.

voila mon code de test:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php 
define ('ASSASSIN_ROOT', './');
$assassin_root = ASSASSIN_ROOT;
?>
 
<script type="text/javascript" src="<?php echo $assassin_root; ?>js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<?php echo $assassin_root; ?>js/jquery.json.js"></script>
 
<script>
// test variables
var obj = {id_div:'test',json:'this is a test json property',xml:'this is a test xml property'};
// encoding an object
var a = $.JSON.encode(obj);
 
$.ajax({
				type: 'GET',
				url:'Load_2.php',
				data:{json: a},
				success: function(html) {
	       		 $('#'+a.id_div).html(html);
				},
				async: false
			});
</script>
 
<div id="test">
</div>
le fichier ki doit traiter le json:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
define ('ASSASSIN_ROOT', './');
require_once ASSASSIN_ROOT.'commun.php';
 
// L'objet user, démarrage de la session utilisateur
$user = new AeUser();
$user->session_begin();
$assassin_root = ASSASSIN_ROOT;
 
function wrap_tpl ($data , $template) {
 
    extract($data);
    ob_start();
    include $template;
    $layout_content = ob_get_contents();
    ob_end_clean();
 
    return $layout_content;
}
 
 
if ( $_SERVER['REQUEST_METHOD'] == 'GET' ) {
 
$data=array();
 
if($_GET['json']){
$json = $_GET['json'];
$obj = json_decode($json);
foreach ($obj as $json_variables){
	array_push($data, array($json_variables => $json_variables));
}
}
 
 
print_r ($data); 
//var_dump(json_decode($json, true));
 
//echo wrap_tpl ($data , $template);
 
}
?>
voici la réponse de ce fichier:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Array
(
    [0] => Array
        (
            [test] => test
        )
 
    [1] => Array
        (
            [this is a test json property] => this is a test json property
        )
 
    [2] => Array
        (
            [this is a test xml property] => this is a test xml property
        )
 
)
comment puis-je remplacer [test] par [id_div] par exemple.

si quelqu'un pourrait m'aiguiller sur la solution sa m'aiderait bien.
merci d'avance.