我正在使用spacetree chart,我需要分層格式的JSON。請參閱示例所需的JSON格式here。我在Mysql數據庫表中有ID,ParentID,Name,Description字段。現在我怎樣才能使用PHP轉換分層/嵌套JSON中的數據? 我知道json_encode($ array)。但是,我需要嵌套/分層php數組。 讓我知道這樣做。從MySQL/PHP獲取嵌套/分層JSON
回答
你基本上問兩個問題在這裏 - 1)如何從數據庫表和2得到的分層結構的PHP )如何在json中編碼這個結構。對於第一個問題,請參閱,例如,我的(舊的但工作)code。對於第二個,我相信簡單的json_encode將工作得很好。
如果您的服務器上安裝了PHP json擴展,請在數組上使用它。這些步驟將是:以多層次
- 構建PHP陣列基於MySQL的resutls
- 調用json_encode($陣列)http://pl.php.net/manual/en/function.json-encode.php
如果您未在服務器上啓用json_encode,並有做不了安裝它...你只需要手工編寫它。
這將是類似的東西(未測試的代碼警告):
function my_json_encode($array)
{
$return = '{';
$count = count($array);
$i = 0;
foreach ($array as $key => $val)
{
$return .= '"'.$key.'" : ';
if (!is_array($val))
$return .= '"'.$val.'"';
else
$return .= my_json_encode($val);
if ($i < $count-1)
$return .=",";
$i++;
}
$return .= '}';
return $return;
}
該解決方案是一個簡單的概念驗證,必須加以改進。例如,添加是對象類型支持和一些錯誤句柄。無論如何,最好使用json_encode。 – 2010-04-15 09:32:59
對不起,還有一件事。如果您要發送json,請記住您應該設置適當的標題作爲迴應。像:header('Content-type:application/json'); – 2010-04-15 09:34:45
現在我的問題是如何創建嵌套/分層php數組? – Brij 2010-04-15 09:35:46
- 1. 獲取嵌套JSON
- 2. 從MongoDB獲取層次嵌套數據
- 3. Codeigniter從數據庫獲取嵌套的分層數據
- 4. Mysql從嵌套查詢中獲取json
- 5. 從json獲取嵌套值angularJS
- 6. 從嵌套的JSON文檔獲取值
- 7. 從嵌套響應獲取json值
- 8. 從Rails獲取嵌套的JSON輸出
- 9. JQuery JSON獲取嵌套值
- 10. 獲取嵌套的JSON值
- 11. 獲取嵌套JSON鍵
- 12. 如何從深層嵌套的json數組中獲取json對象數組?
- 13. 從CouchDB檢索分層/嵌套數據
- 14. 獲取集羣層次結構和嵌套集羣分配
- 15. jQuery - 如何從嵌套的JSON獲取JSON數組名稱
- 16. 如何從json嵌套結構中獲取鍵的json值?
- 17. 從字符串JSON數據獲取嵌套的JSON數據
- 18. 使用json lib從Python獲取嵌套JSON的元素
- 19. 如何從嵌套的JSON中獲取平坦的JSON?
- 20. 從嵌套的JSON結果獲取JSON對象
- 21. 嵌套json抓取
- 22. ElasticSearch - 獲取分頁的結果嵌套表(嵌套分頁)
- 23. 獲取JSON嵌套值與Java中
- 24. 在JSON中獲取嵌套數組
- 25. 在Logstash中只獲取嵌套的JSON
- 26. 在python中獲取JSON嵌套值
- 27. 獲取JSON嵌套AJAX調用
- 28. Angular2獲取嵌套的JSON數據
- 29. Spark獲取嵌套json的列名稱
- 30. MongoDB Java - 嵌套json中獲取ID
謝謝@stereofrog。你非常接近我的對象。編碼的格式與所需的json不同。我不需要parent_ID,並且一些額外的東西即將到來。 – Brij 2010-04-16 05:57:20