[英]How do I programmatically create JSON in XQuery in MarkLogic?
我需要在MarkLogic中的XQuery中构建一个JSON节点。 我知道我可以使用xdmp:unquote()
从字符串解析成node()
。 但是,我想以编程方式构建JSON,而不需要丑陋的字符串连接。 我可以使用计算元素构造函数在XQuery中构建XML节点。 JSON节点有类似的东西吗?
JSON在MarkLogic中实现为XML数据模型的扩展。 MarkLogic 8引入了object-node
, array-node
, number-node
, boolean-node
和null-node
测试和构造函数。 因此,在XQuery中,您可以使用计算构造函数构建JSON,就像使用XML一样。 例如,
object-node {
"key" || fn:string(xdmp:random(100)): array-node { 1, 2, 3 },
"another": object-node { "child": text {'asdf'} },
"lastButNotLeast": boolean-node { fn:true() }
}
将创建JSON,
{
"key47": [1, 2, 3],
"another": {
"child": "asdf"
},
"lastButNotLeast": true
}
另外:在JavaScript中,您可以使用JavaScript语法将类似JSON的结构构建为JavaScript对象。 您可以使用xdmp.toJSON()
将JavaScript对象转换为JSON节点。 但是,大多数需要JSON节点的内置函数都会自动执行此转换,例如xdmp.documentInsert()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.