2014-04-16 23 views
0

我想用PHP以下JSON字符串數組轉換...將JSON字符串轉換爲PHP中的數組?

a:6:{ 
i:0;a:2:{s:2:"id";d:31003200320082;s:7:"address";s:5:"test1";} 
i:1;a:2:{s:2:"id";d:83003500350087;s:7:"address";s:9:"test2";} 
i:2;a:2:{s:2:"id";d:41002800280012;s:7:"address";s:5:"test3";} 
} 

請幫我....

+1

嘗試['unserialize'](http://www.php.net/manual/en/function.unserialize.php)對您的數據。 –

+1

你的字符串不是JSON,但它也不是序列化數組。你從哪裏得到這個輸出? –

+0

它不是json字符串 – Amol

回答

0

瞭解決問題的方法:

  1. 您所使用的字符串不是一個JSON字符串,它實際上是一個序列化的陣列。所以你需要使用函數unserialize而不是json_decode。

  2. 由於您的序列化字符串格式不正確,您無法成功使用unserialize。我已經對字符串使用我的一個進行了一些調整,你會得到成功。

老畸形之一:

a:6:{ 
    i:0;a:2:{s:2:"id";d:31003200320082;s:7:"address";s:5:"test1";} 
    i:1;a:2:{s:2:"id";d:83003500350087;s:7:"address";s:9:"test2";} 
    i:2;a:2:{s:2:"id";d:41002800280012;s:7:"address";s:5:"test3";} 
    } 

新修正的字符串:

a:3:{i:0;a:2:{s:2:"id";i:31003200320082;s:7:"address";s:5:"test1";}i:1;a:2:{s:2:"id";i:83003500350087;s:7:"address";s:5:"test2";}i:2;a:2:{s:2:"id";i:41002800280012;s:7:"address";s:5:"test3";}} 

有一個好的一天我的朋友。

+0

感謝很多兄弟..... –

+0

我的快樂朋友。 –

1

這裏是最好的方式:

  1. 商店PHP變量中的字符串:

    $ jsondata ='...... json string goes here ......';

  2. 現在使用json_decode PHP函數。

    $ resultdata = json_decode($ jsondata);

結果將是數組和對象的集合。

但是,你的數據不是是JSON,但序列化,所以你需要使用unserialize

+0

感謝兄弟,但我沒有得到該功能的成功....我通過這個函數得到空值.... :( –

+0

反正你是怎麼得到這個數據的? –

+0

我從MySQL數據庫得到它.. ... :( –

1

嘗試json_decode()

參考php manual

+0

感謝兄弟,但我沒有得到該功能的成功....我通過此功能得到空值.... :( –

+0

只是使用var_dump(json_decode($ json))檢查它;可能是它的返回objects.try json_decode($ json,true);對於數組 – AVM

+0

我剛剛嘗試過兄弟....但它顯示「null」.... :( –

2

使用

json_decode($data,true)得到的結果嘗試以陣列格式

true用於轉換爲數組,否則它將w生病回報對象

+0

謝謝,但我已經嘗試了兄弟...看這... $ locations ='a:6:{i:0; a:2:{s:2:「id」; d:31003200320082 ; S:7: 「地址」; S:5: 「測試1」;} I:1; A:2:{S:2: 「ID」; d:83003500350087; S:7: 「地址」; S:9 : 「TEST2」;} I:2; A:2:{S:2: 「ID」; d:41002800280012; S:7: 「地址」; S:5: 「TEST3」;}}'; $ resultLocations = json_decode($ locations,TRUE); print_r($ resultLocations); –

+0

我認爲你的json字符串是無效的,請嘗試從http://jsonlint.com/驗證 – lampdev

+0

它不驗證在這個鏈接,所以我認爲這不是一個JSON字符串..... –