Hi Paul,
no need to despair ;)
The default JSON converter is the direct one (which would require <testId/> to be declared an object), not JsonML. If you you want to use JsonML you can do so by using
json:serialize( <json type="array" objects='_'>{ for $user in collection("saveresult")//user[_id="1f2cda8f-a18a-44ba-8d17-73626d472306"] return <_> <testId>{$user/test/_id}</testId> <grade>{$user/user_info/user_grade}</grade> </_> }</json>, map { 'format': 'jsonml' } )
For some more information you can take a look at https://docs.basex.org/wiki/JSON_Module
Cheers, Dirk
On 11/07/14 12:13, Paul Swennenhuis wrote:
Still no luck: JSON serializer: <testId> is typed as "string" and cannot be nested
I think I am going to move the JSON conversion to within PHP or Javascript, and keep the XQueries clean and readable.
Paul
json:serialize( <json type="array" objects='_'>{ for $user in collection("saveresult")//user[_id="1f2cda8f-a18a-44ba-8d17-73626d472306"]
return <_> <testId>{$user/test/_id}</testId> <grade>{$user/user_info/user_grade}</grade> </_>
}</json> )