嘗試轉換JSON
到YAML
。有這樣的代碼正確和簡單的方法將JSON :: PP :: Boolean轉換爲0,1與perl
#!/usr/bin/env perl
use 5.014;
use warnings;
use JSON;
use YAML;
my $json_string = q(
{
"some" : [
{ "isFlagged" : true, "name" : "Some name" },
{ "isFlagged" : false, "name" : "Some other name" }
]
}
);
my $data = decode_json($json_string);
say Dump($data);
它產生:
---
some:
- isFlagged: !!perl/scalar:JSON::PP::Boolean 1
name: Some name
- isFlagged: !!perl/scalar:JSON::PP::Boolean 0
name: Some other name
我需要JSON::PP::Boolean
對象轉換爲0
或1
。當然,我可以從YAML
輸出中刪除每個!!perl/scalar:JSON::PP::Boolean
字符串,但這在我看來並不是一個正確的解決方案。
那麼,什麼是最簡單的和正確的方式轉換所有JSON::PP::Boolean
對象簡單0
和1
,所以YAML
將產生
---
some:
- isFlagged: 1
name: Some name
- isFlagged: 0
name: Some other name
謝謝你救了我表演上'遞歸散步的麻煩$ data'用'JSON :: is_bool' – Zaid
是來按摩吧! :)它確實是我想要的。非常感謝。 – cajwine