【问题标题】:Using the Perl module JSON to create a JSON object使用 Perl 模块 JSON 创建 JSON 对象
【发布时间】:2009-10-27 21:20:19
【问题描述】:

我正在尝试创建一个 JSON 对象以返回 jQuery 请求。

我正在尝试使用jQuery chained select module

我正在尝试使用 Perl 的 JSON module 创建 JSDN 对象。

我不知道我做错了什么,也不知道如何调试它,我能做的最好的就是让一个 JS 对话框出现“未知错误......”。

这就是我为创建 JSON 对象所做的全部工作,我认为这就是所需要的,但事实并非如此。有什么想法吗?

TIA

use JSON;
my %data = (1 => 'val1',
            2 => 'val2',
            3 => 'val3',
           );
my $json_text = to_json(\%data);
print $json_text;

【问题讨论】:

  • 那么建议的答案有哪些是正确的?这个问题涉及很多猜测。也许添加更多细节。

标签: jquery perl json


【解决方案1】:

运行脚本给出:

{"1":"val1","3":"val3","2":"val2"}

…这是预期的输出。

几乎可以肯定,问题在于您用于将 JSON 从服务器获取到客户端的任何代码。

【讨论】:

  • 我只是把它打印出来——我以为这就是所有需要的? “打印 $json_text”
  • @Chris:您在上述问题中提供的代码 sn-p 是正确的,并且可以正常工作。在一个独立的脚本中自己再试一次,看看。 (所以它一定是你的脚本中的其他东西是错误的。)
  • 您要打印到哪里?输出是什么样的?
【解决方案2】:

在处理到文本区域之前让 javascript 输出响应文本,这样您就可以查看传输中是否有问题。此外,您还需要在数据前面添加一些内容,例如“myVar=”,以便将数据分配给另一端的内容。

【讨论】:

  • 谢谢 Woolstar,我会想办法做到这一点(我对 JQuery 一无所知)
【解决方案3】:

看起来您已经解决了您的问题,如果您想知道为什么它不起作用是因为在旧版本的 JSON 模块中没有从 JSON.pm 导出 to_json 方法。 CPAN (2.0) 上的最新版本将 to_json 导出到您的命名空间,但 ~1.5 版本不需要并且需要 JSON::。许多 repos 仍然带有这个旧版本,如果你在 CentOS ~5.3 或旧版本的 Fedora Core 上运行,你将拥有旧的 JSON.pm。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-18
    • 2019-07-17
    • 2013-01-29
    • 2016-10-27
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多