2014-10-30 3 views
-1

Предположим, у меня есть это.Как получить доступ к кодированному массиву JSON в php

$myArray = array(
     'userAgent' => $u_agent, 
     'name'  => $bname, 
     'version' => $version, 
     'platform' => $platform, 
     'pattern' => $pattern 
    ); 

Тогда я закодировать,

$ бар = json_encode ($ туАггау);

Теперь, если бы я был в echo $bar; и передал его обратно в ajax, я мог бы получить доступ к каждому объекту массива.

success: function(data) 
     { 
      var name = data.name; 
      var platform= data.platform; 

Как я могу получить доступ к каждому в php ПОСЛЕ того, как он был закодирован в JSON?

+2

Просто доступ к массиву '$ myArray', из которого вы его построили, или если вы говорите о работе с JSON, отправленным в следующем запросе, просто' json_decode() 'it. –

+0

Вы не получаете доступ к json-закодированным данным. json - это транспортный/коммуникационный формат. Вы декодируете его обратно в собственную структуру данных и получаете доступ к этому. –

ответ

0

Пожалуйста, проверьте приведенный ниже код (index.php), и он отлично работает в моем конце. Я считаю, что вам нужно разобрать JSON, прежде чем вы получите данные в своей функции успеха ajax.

<?php 
if($_GET){ 
$myArray = array(
    'userAgent' => "FF", 
    'name'  => "Asik", 
    'version' => "1.0", 
    'platform' => "Windows", 
    'pattern' => "" 
); 

echo json_encode($myArray); 
exit; 
} 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("button").click(function(){ 
    $.ajax({url:"index.php?getResponse=true",success:function(result){ 
     result = JSON.parse(result); 
     $("#div1").html(result.name); 
    }}); 
    }); 
}); 
</script> 
</head> 
<body> 

<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div> 
<button>Get External Content</button> 

</body> 
</html> 
Смежные вопросы