NAME
DBIx::JSON - Perl extension for creating JSON from existing DBI datasources
VERSION
Version 0.01
SYNOPSIS
my $dsn = "dbname=$dbname;host=$host;port=$port";
print DBIx::JSON->new( $dsn, "mysql", $dbusername, $dbpasswd )
->do_select("select * from table;")->get_json;
or
my $dsn = "dbname=$dbname;host=$host;port=$port";
my $obj = DBIx::JSON->new($dsn, "mysql", $dbusername, $dbpasswd);
$obj->do_select("select * from table;");
$obj->err && die $obj->errstr;
print $obj->get_json;
EXPORT
none. This is OO.
DESCRIPTION
This module is a simple creator of JSON data from RDBMS.
One use of this module might be to extract data on the web server, and send the raw data (in JSON format) to a client's browser, and then JavaScript do eval it to generate dynamic HTML.
This module was inspired by DBIx::XML_RDB.
FUNCTIONS
new
DBIx::JSON->new( $dsn, $dbidriver, $dbusername, $dbpasswd );
This method is a constructor. See the DBI documentation for what each of these means.
do_select
$obj->do_select( $sql [, $key_field] );
This takes a SELECT command string, and calls DBI::selectall_arrayref method. If $key_field is given, this calls DBI::selectall_hashref method. See the DBI documentation for details.
This doesn't do any checking if the sql is valid. Subsequent calls to do_select do overwrite the output.
do_sql
$obj->do_sql( $sql );
This takes a non SELECT command string (e.g. UPDATE/INSERT/DELETE), and calls DBI::do method. See the DBI documentation for details.
get_json
$obj->get_json;
Simply returns the JSON generated from the previous SQL call. The format of the JSON output is something like this:
# selectall_arrayref
[
["user1","data1"],
["user2","data2"],
["user3","data3"],
...
]
# selectall_hashref
{
"user1":{"data":"data1","name":"user1"},
"user2":{"data":"data2","name":"user2"},
"user3":{"data":"data3","name":"user3"},
...
}
has_data
$obj->has_data;
This returns whether get_json method can be called or not.
clear_data
$obj->clear_data;
This clears the results from the previous SQL call.
err
$obj->err();
This returns $DBI::err.
errstr
$obj->errstr();
This returns $DBI::errstr.
AUTHOR
Koji Komatsu, <yosty at kmtz.net>
BUGS
Please report any bugs or feature requests to bug-dbix-json at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBIx-JSON. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc DBIx::JSON
You can also look for information at:
SEE ALSO
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
RT: CPAN's request tracker
Search CPAN
ACKNOWLEDGEMENTS
None.
COPYRIGHT & LICENSE
Copyright 2006 Koji Komatsu, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.