Php 通过Catalyst框架将数据导出到JSON

Php 通过Catalyst框架将数据导出到JSON,php,mysql,json,d3.js,catalyst,Php,Mysql,Json,D3.js,Catalyst,我使用MySQL创建了一个数据库,并将其连接到Catalyst框架,以创建一个web界面。 我必须可视化我的数据,使用它以JSON格式获取数据 我创建了一个php脚本,用于查询数据库并以JSON格式导出查询结果 不幸的是,我还没有找到在catalyst中使用php脚本的方法。是否有更好的方法查询数据库并以JSON格式导出数据,以便在我的d3.js图表中使用它们 非常感谢您的帮助。您可以通过以下方式呈现JSON 这将产生以下JSON: {"foo":"bar","array":[1,2]} 在M

我使用MySQL创建了一个数据库,并将其连接到Catalyst框架,以创建一个web界面。 我必须可视化我的数据,使用它以JSON格式获取数据

我创建了一个php脚本,用于查询数据库并以JSON格式导出查询结果

不幸的是,我还没有找到在catalyst中使用php脚本的方法。是否有更好的方法查询数据库并以JSON格式导出数据,以便在我的d3.js图表中使用它们


非常感谢您的帮助。

您可以通过以下方式呈现JSON

这将产生以下JSON:

{"foo":"bar","array":[1,2]}
在MyApp.pm中,您可以确认行为或视图::JSON:

__PACKAGE__->config->{'View::JSON'} = {
        allow_callback  => 1,    # defaults to 0
#       callback_param  => 'bgm', # defaults to 'callback'
#       expose_stash    => [ qw(id status file error) ], # defaults to everything
};

您可以通过以下方式呈现JSON

这将产生以下JSON:

{"foo":"bar","array":[1,2]}
在MyApp.pm中,您可以确认行为或视图::JSON:

__PACKAGE__->config->{'View::JSON'} = {
        allow_callback  => 1,    # defaults to 0
#       callback_param  => 'bgm', # defaults to 'callback'
#       expose_stash    => [ qw(id status file error) ], # defaults to everything
};

您可以按照Julien的建议使用Catalyst::View::JSON,但对于简单的情况:

=== SomeController.pm ===

package MyApp::Controllers::SomeController;

use strict;
use warnings;
use base 'Catalyst::Controller';

use JSON;

sub my_json_action :Local {
    my ($self, $c, @args) = @_;
    my $result = ... some process or logic ...
    $c->res->body(to_json($result))
}

1;
它应该将
$result
的JSONified版本返回给d3.js


如果您正在应用程序中编写大量AJAX代码,我绝对建议您先了解C::V::JSON方法。

您可以按照Julien的建议使用Catalyst::View::JSON,但对于简单的情况:

=== SomeController.pm ===

package MyApp::Controllers::SomeController;

use strict;
use warnings;
use base 'Catalyst::Controller';

use JSON;

sub my_json_action :Local {
    my ($self, $c, @args) = @_;
    my $result = ... some process or logic ...
    $c->res->body(to_json($result))
}

1;
它应该将
$result
的JSONified版本返回给d3.js


如果您在应用程序中编写了大量AJAX代码,我绝对建议您先了解C::V::JSON方法。

谢谢您的回答。我也发现了这个,但我不能完全理解我应该如何使用它。你能详细说明一下吗?非常感谢你的回答。我也发现了这一点,但我不能完全理解我应该如何使用它。您能详细说明一下吗?非常感谢您谈论的是perl Catalyst框架,对吗?因为在混合中引入PHP听起来非常不规则。是的,我说的是perl catalyst框架。我原以为我可以在catalyst中使用php,但现在我明白这是不可能的,我正在尝试找出替代方案。我设法在一个控制器中查询数据库,并将查询结果存储在一个变量中,然后将其保存起来,但我不知道如何将查询导出为JSON格式,以便在我的d3.js chartOK中使用。请参阅我的答案以获得进一步的解释。您正在谈论perl Catalyst框架,对吗?因为在混合中引入PHP听起来非常不规则。是的,我说的是perl catalyst框架。我原以为我可以在catalyst中使用php,但现在我明白这是不可能的,我正在尝试找出替代方案。我设法在一个控制器中查询数据库,并将查询结果存储在一个变量中,然后将其保存起来,但我不知道如何将查询导出为JSON格式,以便在我的d3.js chartOK中使用。请参阅我的答案以获得进一步解释。