Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

regarding google currency API

by upaksh (Novice)
on Sep 18, 2012 at 06:30 UTC ( #994193=perlquestion: print w/replies, xml ) Need Help??
upaksh has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I want to write a perl script which can access google currency API and parse the JSON response to get the exchange rates. eg. The resonse is JSON object like {lhs: "1 British pound",rhs: "1.6224 U.S. dollars",error: "",icc: true} so, the programme should be able to call the url and parse the object. Any views would be appreciated

Replies are listed 'Best First'.
Re: regarding google currency API
by tobyink (Abbot) on Sep 18, 2012 at 07:17 UTC

    The URL you provided does not provide valid JSON, so you'll have trouble feeding it to any of the standard Perl JSON modules.

    Ingy's recent work on JSONY seems to be able to handle it though:

    use 5.010; use HTTP::Tiny; use JSONY v0.0.3 qw(decode_jsony); my $in_currency = 'GBP'; my $out_currency = 'USD'; # Construct URL from currency codes my $url = sprintf( '', $in_currency, $out_currency, ); # Fetch URL and deal with HTTP errors my $results = HTTP::Tiny->new->get($url); die $results->{reason} unless $results->{success}; # Decode cruddy broken JSON and deal with decoding errors my $data = decode_jsony($results->{content}); die $data->{error} if $data->{error}; # Print the result say $data->{rhs};
    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
Re: regarding google currency API
by choroba (Bishop) on Sep 18, 2012 at 06:58 UTC
    What have you tried? Which part of it does not work?

    You might be interested in reading JSON.

    لսႽ ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ
Re: regarding google currency API
by Anonymous Monk on Sep 18, 2012 at 07:18 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://994193]
Approved by Corion
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2017-11-25 09:59 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (355 votes). Check out past polls.