我从 WEB 服务器读取数据,该服务器返回如下数据:
{'status':{"t":1, "f":1, "p":2, "i":1}}
JSON::XS 告诉它似乎不是有效的 JSON 格式数据。我该如何解析呢?
我从 WEB 服务器读取数据,该服务器返回如下数据:
{'status':{"t":1, "f":1, "p":2, "i":1}}
JSON::XS 告诉它似乎不是有效的 JSON 格式数据。我该如何解析呢?
您可以在此处查看 JSON 格式的规范。在您的情况下,问题可能是status
. 如果您改用常规双引号,它应该解析:
{"status":{"t":1, "f":1, "p":2, "i":1}}
JSON::XS
似乎没有用于接受单引号的切换,但JSON
确实如此。
use strict;
use warnings;
use JSON -support_by_pp
my $source = q( {'status':{"t":1, "f":1, "p":2, "i":1}} );
my $parsed = JSON->new->allow_singlequote->decode($source);
有关更多选项和详细信息,请参阅JSON 模块文档。
它是有效的 JavaScript。因此,如果您不想编写自己的解析器,请将其传递给JavaScript 引擎进行评估并转换为 JSON。