jquery - 将 JSON 与 XQuery 页面结合使用

标签 jquery json jsonp xquery marklogic

因此,我使用 jQuery 插件 (jsonp) 对 api 进行跨域调用并获取 JSON 数据。我需要以某种方式将此数据放入我的 XQuery 页面中。我正在使用 Marklogic 服务器来存储所有 XML 数据,并且我知道它有一些 XDMP 函数来处理 JSON 数据,它将 JSON 从 javascript 获取到 XQuery 这让我很痛苦。

关于如何解决这个问题有什么想法吗?

最佳答案

我不是 100% 确定是什么给您带来了问题,但会尽力提供一个解决方案,希望能帮助您顺利进行。

GitHub 上有一个名为 MLJSON ( https://github.com/marklogic/mljson/wiki ) 的开源项目。它可以获取 JSON 字符串,解析它并返回 MarkLogic 可以轻松使用的 XML 文档。

如果理解 XML 的内部结构没有吸引力(尽管它相当简单,但未记录),该项目还包括一个路径解析器,用于从解析的 JSON 文档中提取位。下面是一个快速示例 XQuery 页面,它将采用一些 JSON 作为 POST 或 GET 参数发送到服务器,对其进行解析并提取一个值:

xquery version "1.0-ml";

import module namespace json="http://marklogic.com/json" at "lib/json.xqy";
import module namespace path="http://marklogic.com/mljson/path-parser" at "lib/path-parser.xqy";

let $jsonString := xdmp:get-request-field("json")
let $jsonXML := json:parse($jsonString)
let $firstName := path:select($jsonXML, "author.firstName", "json")

return concat("First name: ", $firstName)

如果上面的脚本传递了一个 JSON 文档,例如:

{
    "author": {
        "firstName": "Noam",
        "lastName": "Chomsky"
    }
}

它将返回字符串:“First name: Noam”。

MLJSON 还有许多其他功能,我不会在这里介绍,但会提到它具有构造 JSON 对象、数组等并将它们序列化为 JSON 字符串的功能。

希望有帮助。

关于jquery - 将 JSON 与 XQuery 页面结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7521984/

相关文章:

xml - WCF 4.0 Rest 服务设置内容类型

javascript - 获取多个实例中的当前脚本src

javascript - CSS 和 Javascript/jQuery - 类似于 Facebook 的可折叠 DIV 部分

javascript - 如何滚动到要附加数据的动态 ul 的底部 [在代码中使用 jquery、socket.io]

javascript - 可以通过 JSON-P 和 Asana Connect 获取 Asana 任务吗?

javascript - 如何从外部服务器获取 JSON

JQuery AJAX 如何获取和解析 JSONP 而不是 JSON?

php - Symfony2 Sonata Media Bundle 自定义图像裁剪

javascript - 如何在 JavaScript 中正确设置 JSON 对象?

javascript - ```警报(`${info} : ${pokemondetails[info]}\n` )```是什么意思?