2011-11-26 87 views
0

我打算生成的JSON是這樣的:PHP json_encode額外報價

{ 「專賣店」:[{ 「名稱」: 「ABC」, 「手機」, 「1234567」},{ 「名稱」: 「高清」, 「手機」, 「1111111」}], 「numResults」:2 }

我的PHP代碼是這樣的:

 while($row = mysql_fetch_assoc($result)){ 
      $store[] = $row; 
      $k++; 
     } 
     $obj['stores'] = json_encode($store);   
     $obj['numResult'] = $numResult;   
     echo stripslashes(json_encode($obj)); 

然而結果似乎有圍繞方括號的雙引號:

{「{」Name「:」abc「,」Phone「,」1234567「},{」Name「:」def「,」Phone「,」1111111「}]」, 「numResults」:2 }

我該如何刪除它們? (或者實際上顯示的是假設是正確的JSON格式?)

謝謝!

+0

您可以通過不增加他們刪除它們;) – hakre

回答

3

只有轉換成JSON一次,一旦你有完整的對象的方式,你希望它:

 while($row = mysql_fetch_assoc($result)){ 
      $store[] = $row; 
      $k++; 
     } 
     $obj['stores'] = $store; // <---------Note change   
     $obj['numResult'] = $numResult;   
     $myJSONstring = json_encode($obj); 
+0

真棒的感謝! –

+0

來自downvoters的任何建議? –

1

你不會需要json_encode兩次。創建一個完全創建的$obj變量和json_encode。

0

簡單的辦法是

$my_string = json_encode($my_json,JSON_FORCE_OBJECT);