Actually, you’ve got a much easier way of generating JSON in ML 8:
It will look something like:
let $obj := object-node {
“name”: “world”,
“label”: “Hello"
}
http://docs.marklogic.com/guide/app-dev/json#id_98451
Hope that helps. Save yourself some angle brackets and typing.
Paul Hoehne
Senior Consultant
MarkLogic Corporation
[email protected]
mobile: +1 571 830 4735
www.marklogic.com
Click http://po.st/hMGDFm to get your free NoSQL For Dummies e-book!
From: Paul Williams
<[email protected]<mailto:[email protected]>>
Reply-To: MarkLogic Developer Discussion
<[email protected]<mailto:[email protected]>>
Date: Monday, March 23, 2015 at 5:45 PM
To: MarkLogic Developer Discussion
<[email protected]<mailto:[email protected]>>
Subject: [MarkLogic Dev General] ML8 Json
In upgrading from ML6 to ML8 we have an issue in our application code where we
are generating JSON for a client-side script. I know there has been a huge
change in JSON support, but can anyone tell me exactly what is going on here?
Sample code:
xquery version "1.0-ml";
let $obj :=
<json:object xmlns:json="http://marklogic.com/xdmp/json">
<json:entry><json:key>name</json:key><json:value
xsi:type="xs:string">world</json:value></json:entry>
<json:entry><json:key>label</json:key><json:value
xsi:type="xs:string">hello</json:value></json:entry>
</json:object>
let $doc := xdmp:to-json(json:object($obj))
return
<script type="text/javascript">var obj = {$doc}</script>
If you execute that in ML6, as expected, you get…
<script type="text/javascript">var obj = {"name":"world",
"label":"hello"}</script>
But in ML8, you get this error pointing at the highlighted reference
XDMP-CHILDNODEKIND: $doc -- element nodes cannot have object
node children
I’m not sure exactly what is the “element node” this message refers to. I know
that I can quote the reference (xdmp:quote($doc)) and make it work, but I’m
trying to understand what specifically is different between ML6 & ML8 that is
causing this problem so I can be sure of my workaround.
Any comments?
TIA
Paul Williams | Technical Consultant
M:+1 402 203 2232 | Sk:paul.wms
[email protected]<mailto:[email protected]>
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general