http://localhost/v1/documents?format=json&uri=%2Fdocs%2F1234.json
看起来这个URL给了我们XML而不是JSON,这导致了一些问题。
我相信一旦我们升级到Marklogic 8,就会发生这种情况。
你可以看到我们正在指定基于此的json: https://docs.marklogic.com/REST/GET/v1/documents
如何让它返回JSON?
答案 0 :(得分:3)
在MarkLogic 6和7中,JSON文档在内部表示为XML,即这些版本支持的标准分层文档格式。通过REST API进行访问是透明的JSON for read&写道,它在引擎盖下是不同的。在MarkLogic 8中,JSON是一种原生格式,因此转换就消失了。 MarkLogic的支持团队有一篇关于how JSON is handled in versions 6, 7, and 8的文章 - 应该对您有所帮助。
答案 1 :(得分:3)
您也可以使用MLCP有效地执行相同操作,还有一个额外的好处,即您可以更轻松地重复迁移,可选择针对不同的目标环境或数据库,和/或如果您愿意,可以添加额外的调整。使用存档模式导出数据库文件,然后使用此转换重新导入:
https://github.com/marklogic/demo-cat/blob/develop/src/transform/to-json.xqy
我们这样做是为了将demo-cat从MarkLogic 7内部迁移到8.我们采取的步骤记录在这里:
https://github.com/marklogic/demo-cat/blob/develop/migration.md
HTH!