nåda. “ting” kan også JSON!

Her i eftermiddags kiggede jeg lidt videre på ting projektet. Det viser sig at andre end mig har haft problemer med at bruge webservicen : http://krakoa.dk/wordpress/2009/05/31/refindting/ . Her bemærkede jeg en kommentar der nævnte ting også kunne json , så jeg kastede mig ud i flg php kode :


class Ting_Client {
var $opensearch = "http://didicas.dbc.dk/opensearch/";

public function search($query){
$hc=new HTTPClient();
$url = $this->opensearch."?action=searchRequest&query=$query&facets.number=10&outputType=json";
$host = $hc->extractHost($url);
$hc->connect($host);
return( $hc->Get($url) );
}
}

Her antager jeg at din php klient også kan hente HTML sider ligesom min kan . På den facon kunne man tænke sig noget i denne her stil:


$t=new Ting_Client();
$searchResponse = json_decode($t->search($query));
if($searchResponse->searchResult->hitCount>0) {
print "

    \r\n";
    foreach( $searchResponse->searchResult->records->tingRecord
    as $rec){
    $isbn=$rec->dc->identifier[0];
    $isbn=preg_replace("/ISBN\:/","",$isbn);
    print "
  • ".$rec->dc->title[0]."
  • ";
    }
    }

    hvor beskrivelsen på de enkelte poster kan benyttes til at lave et mashup. Jeg har her prøvet med slashdemocracy, men det virker vist ikke helt for andet end ISBN.

    Da jeg kiggede på outputtet fra ting , så undrede jeg mig lidt over hvorfor at man ikke havde valgt at bruge Z39.50 , men det er så også ok. Når man har kigget på outputtet fra ting i et stykke tid, så giver det nogenlunde mening.