我正在處理XML項目,當我嘗試連接我的Xquery中的json文件時遇到問題。解析來自Xquery的json
我會解釋我的問題更多的細節:
我不知道如何讀XQuery中的JSON文件,我在XQuery中有一個URL(此URL有一個JSON文件),並且該網址是下一頁:
http://discomap.eea.europa.eu/ArcGIS/rest/services/Admin/EuroBoundaries_Dyna_WGS84/MapServer/2/query?text=&geometry=16.4027431529776,57.0126631873995&geometryType=esriGeometryPoint&inSR=&spatialRel=esriSpatialRelIntersects&where=&returnGeometry=false&outSR=&outFields=NUTS_CODE&f=json
此URL下一個信息:
{
"displayFieldName":"ICC",
"fieldAliases":{
"ICC":"ICC",
"NUTS_CODE":"NUTS_CODE"
},
"features":[{
"attributes":{
"ICC":"SE",
"NUTS_CODE":"SE21"
}
}]
}
所以,我要讀XQuery中此JSON文件或得到一個函數來此JSON文件轉換爲XML文件。
通過互聯網,我得到這個代碼:
我們進口的json模塊,他們是功能,但下面的網址不工作,所以這是不可能解析這個功能。
import module namespace json ="http://www.zorba-xquery.com/zorba/json-functions";
declare function xmlconv:RestWEB()
{
let $var := "&"
let $datocor1 := "16.4027431529776,"
let $datocor2 := "57.0126631873995"
let $dat1 := concat("geometry=",$datocor1, $datocor2)
let $dat2 := "geometryType=esriGeometryPoint"
let $dat3 := "inSR="
let $dat4 := "spatialRel=esriSpatialRelIntersects"
let $dat5 := "where="
let $dat6 := "returnGeometry=false"
let $dat7 := "outSR="
let $dat8 := "outFields=NUTS_CODE"
let $dat9 := "f=json"
let $URLinicial := concat($var,$dat1,$var,$dat2,$var,$dat3,$var,$dat4,$var,$dat5,$var,$dat6,$var,$dat7,$var,$dat8,$var,$dat9)
let $URLFinal := concat($restWeb2,$URLinicial)
let $FinalResult := json:parse((doc($URLFinal)))
return
<div>
{$FinalResult}
</div>
};
正如你所看到的,json:parse((doc($URLFinal)))
是我嘗試解析JSON文件,XML文件的功能,但它是不可能執行,因爲我不能在此頁面中輸入的模塊:www.zorba- xquery.com/zorba/json-functions。
讓我知道如果你知道一些功能來解決這個問題,或者你需要更多的信息。
在此先感謝
大衛
Zorba現在已經爲JSON提供了一流的支持。你可以試試http://www.zorba-xquery.com/html/jsoniq – wcandillon 2012-02-22 08:44:21