<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7638.1">
<TITLE>RE: [MarkLogic Dev General] xdmp:from-json() change in 5.1</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Thanks Justin,<BR>
<BR>
Here's an example:<BR>
<BR>
declare function get-foo() as map:map*<BR>
{<BR>
&nbsp;&nbsp;&nbsp; map:get(xdmp:from-json('{&quot;foo&quot;: [{&quot;id&quot;: 1}, {&quot;id&quot;: 2}]}'), &quot;foo&quot;)<BR>
};<BR>
<BR>
If I change the function return type to json:object it works, I thought json:object might be a subtype of map:map but no.<BR>
<BR>
In another case I want to get the sequence of strings (&quot;a&quot;, &quot;b&quot;) from the json {&quot;foo&quot;: [&quot;a&quot;, &quot;b&quot;]}<BR>
<BR>
(: 5.0 :)<BR>
let $foo as xs:string* := map:get(xdmp:from-json('{&quot;foo&quot;: [&quot;a&quot;, &quot;b&quot;]}'), &quot;foo&quot;)<BR>
<BR>
(: 5.1 :)<BR>
let $foo as xs:string* := json:array-values(map:get(xdmp:from-json('{&quot;foo&quot;: [&quot;a&quot;, &quot;b&quot;]}'), &quot;foo&quot;))<BR>
<BR>
Is there a way of writing that to work in 5.0 and 5.1?&nbsp; And is that the best approach to get a string sequence? It seems odd using functions from 3 namespaces.. maybe it would be better if xdmp:from-json was unchanged/deprecated and a new json:decode added? Would prevent a lot of old code breaking :)<BR>
<BR>
Thanks,<BR>
Rob<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: general-bounces@developer.marklogic.com on behalf of Justin Makeig<BR>
Sent: Sun 8/12/2012 23:50<BR>
To: MarkLogic Developer Discussion<BR>
Cc: Early Access<BR>
Subject: Re: [MarkLogic Dev General] xdmp:from-json() change in 5.1<BR>
<BR>
Rob,<BR>
json:object is a specialization of the map:map type that preserves the ordering of keys and allows for null values. As such, you should be able to use it with APIs that expect a map. Please let me know if that's not the behavior you're seeing.<BR>
<BR>
Justin<BR>
<BR>
<BR>
Justin Makeig<BR>
Director, Product Management<BR>
MarkLogic Corporation<BR>
justin.makeig@marklogic.com<BR>
Phone: +1 650 655 2387<BR>
www.marklogic.com<BR>
<BR>
On Aug 12, 2012, at 11:30 AM, Whitby, Rob, Springer Healthcare UK wrote:<BR>
<BR>
&gt; Hi,<BR>
&gt;<BR>
&gt; In 5.1 EA2 xdmp:from-json() now returns a json:object, is there still a way to get a map?<BR>
&gt;<BR>
&gt; Thanks,<BR>
&gt; Rob<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; General mailing list<BR>
&gt; General@developer.marklogic.com<BR>
&gt; <A HREF="http://developer.marklogic.com/mailman/listinfo/general">http://developer.marklogic.com/mailman/listinfo/general</A></FONT>
</P>

</BODY>
</HTML>