General motivation
XQuery 3.1 was designed to support additional data structures (maps, arrays) in memory. These structures are displayed in JSON for input and output. XQuery 3.1 has been a W3C recommendation since March 2017.
JSONiq JSON , . XML Query ( : ), JSON. , .
XQuery 3.1, JSONiq , -, . , XQuery 3.1 , JSONiq JSON.
JSONiq . XQuery 3.1 .
JSONiq , , , . XQuery 3.1 .
JSONiq . XQuery 3.1 ( ).
XQuery 3.1 , , , XML. JSONiq XML, .
JSONiq JSON.
{ "foo" : [ 1 to 10 ] }
XQuery 3.1 XML node:
map { "foo" : array { 1 to 10 } }
XQuery 3.1 , , , :
[ 1, (1 to 10), 11 ]
XQuery 3.1 :
let $map := map { "foo" : "bar" }
return $map("foo")
let $array := array { 1, 2, 3 }
return $array(2)
? :
let $map := map { "foo" : "bar" }
return $map?foo
let $array := array { 1, 2, 3 }
return $array?2
let $array := array { 1, 2, 3 }
return $array?*
JSONiq ( )
let $map := { "foo" : "bar" }
return $map.foo
let $array := [ 1, 2, 3 ]
return $array[[2]]
let $array := [ 1, 2, 3 ]
return $array[]
(JSONiq XQuery, ).