Парс json из Xquery - PullRequest
       8

Парс json из Xquery

1 голос
/ 27 сентября 2010

Я работаю над проектом XML, и у меня возникает проблема при попытке подключить файл json к моему Xquery.

Я объясню свою проблему более подробно:

Я не знаю, как прочитать файл json в Xquery, я получил URL (этот URL содержит файл json) в Xquery, и этот URL следующий:

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"
                  }
            }]
}

Итак, мне нужно прочитать этот json-файл в Xquery или получить функцию для преобразования этого json-файла в xml-файл.

Через интернет я получил этот код:

Мы импортируем модуль json, где они являются функциями, но приведенный ниже URL не работает, поэтому невозможно разобрать эту функцию.

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. ком / Зорб / JSON-функция.

Дайте мне знать, если вам известна какая-то функция для решения этой проблемы или вам нужна дополнительная информация.

Заранее спасибо

David

1 Ответ

1 голос
/ 28 сентября 2010

Правильный импорт модуля:

импортировать пространство имен модулей json = "http://www.zorba -xquery.com / modules / json";

Пожалуйста, ознакомьтесь с документацией Zorba JSON: http://www.zorba -xquery.com / doc / zorba-1.2.0 / zorba / xqdoc / xhtml / com / zorba-xquery / www / modules / json.html

На веб-сайте 28 мсек вы можете найти пример веб-приложения, написанного на XQuery, который использует эти функции: http: //www.28msec.com/support_templates_json_jsonml/index

...