次のようなデータを返す 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::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 モジュールのドキュメントを参照してください。
JSON 形式の仕様は、こちらで確認できます。あなたの場合、問題は単一引用符で囲まれている可能性がありますstatus
。代わりに通常の二重引用符を使用すると、次のように解析されます。
{"status":{"t":1, "f":1, "p":2, "i":1}}
JSON の有効性は、http://jsonlint.com/で確認できます。