2013-08-15 2 views
0

Я создаю объект JSON в PHP, как это:json_encode добавляет двойные кавычки, когда разобраны

echo json_encode(array("results" => array(array("user" => $member['user']),array("company" => $member['company'])))); 

В JavaScript я получаю что-то вроде:

"{"results":[{"user":"David"},{"company":"something"}]}" 

Тогда я пытаюсь проверить это JSON и он недействителен, но когда я удаляю двойные кавычки в начале и в конце, тогда он проверяет JSON.

Что я делаю неправильно? Вот как это должно быть:

{"results":[{"user":"David"},{"company":"something"}]} 

EDIT:

часть моего вызова AJAX:

success: function(response) 
     { 
      for(var i=0;i<response.results.length;i++) 
      { 
       sessionStorage.setItem('user',response.results[i].user); 
       sessionStorage.setItem('company',response.results[i].company); 
      } 
     } 
+2

Как вы «пытаетесь проверить» json? И где вы получаете эту строку json? – PeeHaa

+0

Как выглядит ваш код javascript? – jcubic

+0

это не должно быть проблемой, если вы эхо-код javascript (btw JSON означает JavaScript Object Notation) с php, поэтому, очевидно, вы делаете что-то неправильно. Отправьте свой js-код, который использует этот php-эхо-сигнал json. –

ответ

0
echo json_encode(

array(
    "results" => 
    array(
     array("user" => $member['user'], "company" => $member['company']), 
     array("user" => $member['user2'], "company" => $member['company2']) 
     ) 
    ) 
); 
+1

что вы здесь изменили? кроме отступов? –

+0

Если вы видите, что пользователь json encode берет верх, структура не верна 'array (" user "=> $ member ['user']), array (" company "=> $ member ['company']))' правильно?? –

+0

возможно, хотя это не мои данные, поэтому вам нужно будет спросить @ user123_456 –

6

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

Чтобы быть ясно, вы должны иметь что-то вроде этого:

var myJSobject = <?php echo json_encode(...); ?>; 

Тогда это хорошо идти, ничего еще нужно.

0

Похоже ур копирование строки с кавычками откуда-то (из журнала или что-то?), И пытается проверить где-нибудь еще. echo json_encode(..) должен дать правильную строку Json!

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