2

我希望有人对 Open Library 有一些经验并尝试解析他们可下载的 JSON 转储。我希望能够解析 JSON 并将其转换为 CSV,但在将此 JSON 转换为干净格式时遇到问题。

问题是,这个“JSON”看起来像是在开始时混合了一些制表符分隔的数据,然后是一些结构化的 JSON。

是否有任何实用程序可以清理此类数据,或者我将不得不编写一些松鼠式的查找和替换脚本?

这是转储的示例(2 项):

/type/author    /authors/OL1000057A 2   2008-08-20T17:57:09.66187   {"name": "Kha\u0304lid Muh\u0323ammad \u02bbAli\u0304 al-H\u0323a\u0304jj", "personal_name": "Kha\u0304lid Muh\u0323ammad \u02bbAli\u0304 al-H\u0323a\u0304jj", "last_modified": {"type": "/type/datetime", "value": "2008-08-20T17:57:09.66187"}, "key": "/authors/OL1000057A", "type": {"key": "/type/author"}, "revision": 2}

/type/author    /authors/OL100029A  2   2008-09-08T16:19:17.29978   {"name": "K. Hardono", "personal_name": "K. Hardono", "last_modified": {"type": "/type/datetime", "value": "2008-09-08T16:19:17.29978"}, "key": "/authors/OL100029A", "type": {"key": "/type/author"}, "revision": 2}

我需要将 JSON 集包装在列表 [ ] 中并用逗号分开,以便我的解析正确运行。

感谢代码清理顺便说一句。

4

1 回答 1

0

为此,您可以使用 php 解析器。它将所有数据作为数据包提供。

使用 OPDumpReader 解析 OpenLibrary 转储

https://github.com/manindersingh030/OLDumpReader

$reader = new OLReader($dumpLocation);

var_dump($reader->getNextPacket());

于 2017-04-07T16:33:12.147 回答