JSON

För att undvika den i mitt tycke något konstlade debatten om XML och JSON kan vi meddela att LIBRIS numera även har stöd det sistnämnda formatet. Detta i vårt nyligen lanserade lättvikts-API, Xsearch. De metadataelement som används (title, creator, publisher, etc.) är hämtade från Dublin Core-formatet.

JSON är ett mycket enkelt, rättframt och läsbart sätt att tagga upp data, som dessutom är väldigt smidigt att använda i JavaScript-baserade webbtillämpningar. Dublin Core i sin tur är ett mycket använt metadataformat, och vi tror att dessa två i kombination kan utgöra ett bra alternativ till alla som inte vill lära sig MARC-XML.

Exempel: URL:en http://libris.kb.se/xsearch?query=metadata&format=json ger de tio högst rankade träffarna på sökningen ”metadata”, i just JSON-format.

  11 comments for “JSON

  1. 18 september, 2008 at 03:10

    Hej,
    varför inte köra en workshop så att vi som vill kan testa lite och få lite idéer kring smarta användningsområden?

    Jag tycker det vore väldigt kul!

  2. Kristin Olofsson
    23 september, 2008 at 11:35

    Bra idé och skulle vara väldigt roligt! Återstår att se om och när det skulle gå att pressa in i en pressad tid- och verksamhetsplan.

    Vi får återkomma helt enkelt.

  3. 8 november, 2008 at 06:30

    Hej,
    Jag hittade just er webbservice genom att googla. JSON är ett väldigt bra format, men ett sätt att göra det ännu mera användbart är att införa en ‘callback’-parameter. Då får man något som brukar kallas för JSONP. Det gör att jag kan anropa direkt från Javascript (genom att använda xmlHttpRequest). Examplet ovan skulle bli:

    http://libris.kb.se/xsearch?query=metadata&format=json&callback=myfunction

    och följande skulle returneras:

    myfunction({”xsearch”: {
    ”from”: 1,
    ”to”: 10,
    ”records”: 168,
    ”list”: [
    {
    ”title”: ”Metadata : en bok om hur webbdokument kan katalogiseras och göras sökbara”,
    ”creator”: ”Hedman, Thomas,1946-2004”,
    ….})

    Mycket behändigt, och en känd metod för att komma runt ‘cross-domain’ problems.

    De flesta som serverar JSON har en sådan finess, så jag hoppas att ni också kommer att erbjuda det.

    Vänliga hälsningar,
    Torbjörn Lager

  4. Henrik
    10 november, 2008 at 04:20

    Hej!

    Nu finns callbackfunktionalitet implementerad! Man anger alltså valfritt funktionsnamn i parametern ”callback” (fungerar endast för formatet json). Detta medför att svaret bäddas in i ett funktonsanrop till angiven funktion. Prova exempelvis länken konstruerad av Torbjörn ovan. Denna funktionalitet borde naturligtvis funnits från början, men man kan inte tänka på allt…

    Tack för tipset!

  5. Torbjörn Lager
    13 november, 2008 at 02:36

    Hej Henrik,
    Härligt! Tusen tack för den snabba responsen!
    Vänliga hälsningar,
    Torbjörn Lager

  6. Joackim Pennerup
    15 mars, 2009 at 05:55

    Hej Henrik!
    Tänk att jag mejlade först utan att kolla om ni faktist hade en blogg. Hur som helst så vill jag tacka för JSON-stödet. Det gör det enkelt att använda tjänsten. Dock finns det ett problem med översättningen mellan JSON och Dublin Core. JSON har inte stöd för samma namn på fälten. Detta gör att man bara kan få ut de sista värdena från resultatet. Exempelvis så får man bara ut den sista författaren om det finns flera. Jag mejlade exempel till libris@kb.se på hur det bör lösas istället.
    //Joackim

  7. Henrik
    16 mars, 2009 at 01:34

    Hej Joackim!

    Det stämmer bra att namnen i json måste vara unika. Din föreslagna lösning borde fungera och vi hoppas kunna åtgärda det hela inom inte allt för lång tid.

    /Henrik

  8. Henrik
    24 juni, 2009 at 02:15

    Hej igen,

    så har det äntligen blivit sommar och lite tid över för att fixa gamla synder: json-formatet är nu uppdaterat!

  9. Saašha Metsärantala
    19 februari, 2012 at 09:19

    Hej!

    Tack för dessa välfungerande webbsidor!

    Jag tycker att en önskvärd förbättring skulle vara att uppdatera JSONP (och JSON), så att den även innefattar klassifikationen med både KSSB och DDK, inklusive dubbel och trippel klassifikation när det är aktuellt.

    Tack så mycket!

    Saašha,

  10. Pelle
    12 mars, 2012 at 09:20

    Saašhas önskemål är nu implementerat, se separat inlägg.

    //Pelle, LIBRIS

  11. Johan Triyono
    24 november, 2015 at 10:26

    Hej,

    Väldigt användbart detta med JSON! En förbättring skulle vara att för flerbandsverk kunna se vilka delar man får träff av (tänk t.ex. en sökning på Brehm Djurens liv – då får man en stor mängd poster som i princip ser lika ut om man inte har del-informationen i svaret också).

    Tack!

    Johan

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *