Özet
json_xs [-v] [-f girdi_biçimi] [-t çıktı_biçimi]
Açıklama
json_xs, bazı girdi ve çıktı biçimleri arasında (biri JSON olmak üzere) dönüştürme yapar.
Varsayılan girdi biçimi "json" ve varsayılan çıktı biçimi "json-pretty"dir.
Seçenekler
-v: Biraz daha ayrıntılı (verbose) bilgi verir.
-f girdi_biçimi STDIN'den verilen biçimde bir dosya okur.
"girdi_biçimi" aşağıdakilerden biri olabilir:
json - utf-8, utf16-be/le veya utf32-be/le ile kodlanmış bir json metni cbor - CBOR (RFC 7049, CBOR::XS), bir tür ikili (binary) JSON storable - dondurulmuş (frozen) bir Storable değeri storable-file - bir Storable dosyası (Storable'ın uyumsuz iki biçimi vardır) bencode - varsa Convert::Bencode kullanır (diğerlerinin yanı sıra torrent dosyaları tarafından da kullanılır) clzf - Compress::LZF biçimi (ilgili modülün kurulu olmasını gerektirir) eval - verilen kodu (utf-8 olmayan) Perl olarak değerlendirir, temelde "-t dump" seçeneğinin tersidir yaml - YAML biçimi (ilgili modülün kurulu olmasını gerektirir) string - dosya verilerinin kodunu çözmeye (decode etmeye) çalışmaz none - hiçbir şey okunmaz, bir "undef" skaler oluşturur - çoğunlukla "-e" ile kullanışlıdır
-t çıktı_biçimi Dosyayı verilen biçimde STDOUT'a yazar.
"girdi_biçimi" aşağıdakilerden biri olabilir:
json, json-utf-8 - json, utf-8 kodlu json-pretty - yukarıdaki gibi, ancak güzel biçimlendirilmiş (pretty-printed) json-utf-16le, json-utf-16be - little endian/big endian utf-16 json-utf-32le, json-utf-32be - little endian/big endian utf-32 cbor - CBOR (RFC 7049, CBOR::XS), bir tür ikili (binary) JSON cbor-packed - CBOR'un daha küçük olması için uzantılar kullanan biçimi storable - ağ (network) biçiminde dondurulmuş bir Storable değeri storable-file - ağ (network) biçiminde bir Storable dosyası (Storable'ın uyumsuz iki biçimi vardır) bencode - varsa Convert::Bencode kullanır (diğerlerinin yanı sıra torrent dosyaları tarafından da kullanılır) clzf - Compress::LZF biçimi yaml - YAML::XS biçimi dump - Data::Dump dumper - Data::Dumper string - verileri sanki bir dizgeymiş (string) gibi yazar none - hiçbir şey yazılmaz, çoğunlukla "-e" ile birlikte kullanışlıdır
Data::Dumper'ın kendi kendini referans gösteren (self-referential) veri yapılarını doğru şekilde işlemediğini unutmayın - bunun yerine "dump" kullanın.
-e kod Verileri okuduktan sonra ve tekrar yazmadan önce perl kodunu değerlendirir; verileri filtrelemek, oluşturmak veya ayıklamak için kullanılabilir. Yazılan veri $_ içindedir ve sonrasında orada ne varsa o yazılır.
Örnekler
json_xs -t none <isitreally.json
"JSON Lint" - isitreally.json dosyasını JSON olarak ayrıştırmayı (parse etmeyi) dener - eğer geçerli bir JSON ise, komut hiçbir şey çıktı vermez, aksi takdirde bir hata mesajı yazdırır ve sıfır olmayan bir çıkış durumuyla çıkar.
<src.json json_xs >pretty.json
src.json JSON dosyasını dst.json olarak güzel biçimlendirilmiş hale getirir.
json_xs -f storable-file <file
Serileştirilmiş Storable dosyası olan file dosyasını okur ve insan tarafından okunabilir bir JSON sürümünü STDOUT'a yazdırır.
json_xs -f storable-file -t yaml <file
Yukarıdakiyle aynıdır, ancak bunun yerine YAML yazar (hiç JSON kullanmaz :)
json_xs -f none -e '$_ = [1, 2, 3]'
Perl dizisini UTF-8 kodlu JSON metni olarak döker.
<torrentfile json_xs -f bencode -e '$_ = join "\n", map @$_, @{$_->{"announce-list"}}' -t string
Bir torrent dosyasının içindeki tracker listesini yazdırır.
lwp-request http://cpantesters.perl.org/show/JSON-XS.json | json_xs
cpan-testers sonuç özeti olan "JSON::XS"yi getirir ve güzel biçimlendirilmiş olarak yazdırır.
Yazar
Telif Hakkı (C) 2008 Marc Lehmann json@schmorp.de
perl v5.34.0 15 Kasım 2018 JSON_XS(1)