2013-04-25 79 views
3

我有一個很大的php字符串,包含json樣式數據,需要以某種方式將其轉換爲json對象。我的字符串如下所示:(它是一個BIG字符串)。字符串的語法不完全是我在下面附加的,但它只是一個例子。我如何將字符串lik $ string轉換爲json對象?感謝名單。如何從PHP字符串創建JSON對象?

$string = " 
{ 
\"name\": \"flare\", 
\"children\": [ 
    { 
    \"name\": \"analytics\", 
    \"children\": [ 
    { 
    \"name\": \"cluster\", 
    \"children\": [ 
     {\"name\": \"AgglomerativeCluster\", \"size\": 3938}, 
     {\"name\": \"CommunityStructure\", \"size\": 3812}, 
     {\"name\": \"HierarchicalCluster\", \"size\": 6714}, 
     {\"name\": \"MergeEdge\", \"size\": 743} 
    ] 
    } 
    ] 
    } 
    ] 
} 
"; 
+2

'json_decode()'? – 2013-04-25 15:01:41

回答

3

使用json_decode()此:

$obj = json_decode($string); 
var_dump($obj); 

輸出:

class stdClass#1 (2) { 
    public $name => 
    string(5) "flare" 
    public $children => 
    array(1) { 
    [0] => 
    class stdClass#2 (2) { 
     public $name => 
     string(9) "analytics" 
     public $children => 
     array(1) { 
     ... 
     } 
    } 
    } 
} 
2

There's no such thing as a JSON object

你有什麼是一個JSON文本表示爲PHP字符串文字。

如果要將其解析爲PHP對象,請使用json_decode($string)

如果您想將它解析爲JavaScript對象,那麼您必須以某種方式將該字符串傳遞給JavaScript。這可能涉及將其打印到對HTTP請求的響應中,並將其傳遞給V8或其他某種技術,具體取決於您想要使用的方法。

+0

更清楚我正在嘗試使用以下方法:d3.json(「page.php」)該方法可以採用.php文件。我嘗試傳入的php文件實際上在文件中創建了一個類似上面的字符串的方法,並返回字符串。我在正確的道路上嗎? – user1899872 2013-04-25 15:17:57

+0

它不能帶一個PHP文件。它可以採取一個URL。該服務器可能使用PHP來確定對該URL的請求做出什麼響應。 (這將是前面提到的「將其打印到響應中」)。如果您想查看輸出內容,請直接通過在瀏覽器的地址欄中輸入網址來請求URL。 – Quentin 2013-04-25 15:22:32