小松康二 (Koji Komatsu) > DBIx-JSON-0.02 > DBIx::JSON

Download:
DBIx-JSON-0.02.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  0
View/Report Bugs
Module Version: 0.02   Source  

NAME ^

DBIx::JSON - Perl extension for creating JSON from existing DBI datasources

DESCRIPTION ^

This module is perl extension for creating JSON from existing DBI datasources.

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.

VERSION ^

Version 0.02

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;", "colmun1", 1);
    $obj->err && die $obj->errstr;
    print $obj->get_json;

EXPORT ^

None.

METHODS ^

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 [, $hash_array] ] );

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. $hash_array affects get_json method.

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:

    # default
    [
        ["user1", "data1"],
        ["user2", "data2"],
        ["user3", "data3"],
        ...
    ]

    # if do_select was called with $key_field
    {
        "user1":{"data":"data1", "name":"user1"},
        "user2":{"data":"data2", "name":"user2"},
        "user3":{"data":"data3", "name":"user3"},
        ...
    }

    # if do_select was called with $hash_array
    [
        {"data":"data1", "name":"user1"},
        {"data":"data2", "name":"user2"},
        {"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 ^

JSON::Syck by Tatsuhiko Miyagawa, <miyagawa@bulknews.net> Tweaked by Koji Komatsu, <yosty@cpan.org>

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 ^

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.

syntax highlighting: