XML、HTML 可以用 XPath 抓取, JSON 當然也要 XPath 來抓~ XD
XPath for JSON Library (PHP、JavaScript)
XPath for JSON 的 Function 有 JavaScript 與 PHP 版本.
- XPath for JSON 官方網頁: JSONPath - XPath for JSON
- Open Source 專案: jsonpath - XPath like syntax for JSON
- 範例、測試程式: jsonpath - /trunk/tests
PHP 的範例寫法 (取自官方網頁)
<?php require_once('json.php'); // JSON parser require_once('jsonpath.php'); // JSONPath evaluator $json = '{ ... }'; // JSON structure from above $parser = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); $o = $parser->decode($json); $match1 = jsonPath($o, "$..author"); $match2 = jsonPath($o, "$..author", array("resultType" => "PATH")); $res1 = $parser->encode($match1); $res2 = $parser->encode($match2); ?>
但是 JSON 本來就可以輕易 eval()、json_decode() ... 等等直接轉成物件取用, 為何還要用 XPath 還沒想到原因.
所以, 先做個記錄而已, 上述的範例程式都沒做過測試, 請小心取用~ 😛