2015-06-25 67 views
-1

這是我的數據,之後Json_encode()json_decode()期望參數1是字符串,數組給定?

Array 
     (
      [{"customerId":"1","customer_name":"Jon_doe","amount":"12312312","billcode":"b1231","billname":"cashbilname","billcategorycode":"1234","billcategory":"utility","month":"May","year":"2015","txcode":"10","stationid":"152","station":"Coroom","operatorcode":"1200","operator":"jame","terminal":"ter12312","txdate":"12\/2\/2015","txtime":"12:21:22_PM"}] 
    => 
     ) 

現在我想它通過施加json_decode()背面進行解碼,它提供了以下錯誤

json_decode()預計參數1是字符串,數組給定

任何想法消化做什麼?

+3

你如何編碼?看起來你在那裏做錯了什麼。 – Sirko

+1

您可以發佈您的相關代碼嗎? –

+2

您需要將該數組的第一項傳遞給json_decode;而不是整個陣列。因此,'json_decode($ array [0])' – d0ug7a5

回答

5

json必須在string,而不是在array

$json_string = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; 
$json_array = json_decode($json_string); 

$json_array : array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 

如果您jsonarray你可以這樣做:

$json_string_in_array = array('{"a":1,"b":2,"c":3,"d":4,"e":5}'); 
$json_array = json_decode($json_string_in_array[0]); 
+0

說undefined 0索引 –

0
$jsonstr = '[{"customerId":"1","customer_name":"Jon_doe","amount":"12312312","billcode":"b1231","billname":"cashbilname","billcategorycode":"1234","billcategory":"utility","month":"May","year":"2015","txcode":"10","stationid":"152","station":"Coroom","operatorcode":"1200","operator":"jame","terminal":"ter12312","txdate":"12\/2\/2015","txtime":"12:21:22_PM"}]'; 
$ar = json_decode($jsonstr,true); # json string to Array 
$obj = json_decode($jsonstr); # json string to Object 
var_dump($ar,$obj); 
2

json_encode()返回一個字符串,所以我不知道你會如何得到數組出來的,除非你將其存儲在一個數組喜歡自己:

$json = []; 
$json[] = json_encode($someArray); 

相反,只是將其存儲在一個非數組變量:

$jsonString = json_encode($someArray); 

然後,你可以這樣對其進行解碼:

$decodedArray = json_decode($jsonString); 
相關問題