JSON-LINQ
view release on metacpan or search on metacpan
doc/json_linq_cheatsheet.VI.txt view on Meta::CPAN
======================================================================
JSON::LINQ Bảng Tóm Tắt [VI] Tiếng Viá»t
======================================================================
[ 1. 1. Tạo truy vấn ]
use JSON::LINQ;
my $q = JSON::LINQ->FromJSON('data.json');
my $q = JSON::LINQ->FromJSONL('events.jsonl');
my $q = JSON::LINQ->FromJSONString('[{"id":1}]');
# From an LTSV file (label:value, TAB-separated, streaming)
my $q = JSON::LINQ->FromLTSV('data.ltsv');
# Từ file CSV (hà ng Äầu = tiêu Äá», streaming)
my $q = JSON::LINQ->FromCSV('data.csv');
my $q = JSON::LINQ->FromCSV('data.csv', sep => "\t"); # TSV
my $q = JSON::LINQ->FromCSV('f.csv', headers=>[qw(a b c)]); # không có tiêu Äá»
my $q = JSON::LINQ->FromCSV('f.csv', headers=>[qw(a b c)], skip_header=>1);
my $q = JSON::LINQ->From(\@array);
my $q = JSON::LINQ->Empty();
my $q = JSON::LINQ->Range(1, 5);
my $q = JSON::LINQ->Repeat('x', 3);
[ 2. 2. Lá»c dữ liá»u ]
->Where(sub { $_[0]{status} eq '200' })
->Where(sub { $_[0]{score} >= 80 })
[ 3. 3. Chiếu dữ liá»u ]
->Select(sub { $_[0]{name} })
->SelectMany(sub { [ @{ $_[0]{tags} } ] })
[ 4. 4. Sắp xếp ]
->OrderBy(sub { $_[0]{name} })
->OrderByDescending(sub { $_[0]{score} })
->OrderByNum(sub { $_[0]{price} })
->OrderByStr(sub { $_[0]{code} })
->ThenBy(sub { $_[0]{name} })
->Reverse()
[ 5. 5. Phân trang ]
->Skip(10) ->Take(5)
->SkipWhile(sub { ... }) ->TakeWhile(sub { ... })
[ 6. 6. Nhóm dữ liá»u ]
my @g = $q->GroupBy(sub { $_[0]{cat} })->ToArray();
my $l = $q->ToLookup(sub { $_[0]{dept} });
[ 7. 7. Tá»ng hợp (phương thức Äầu cuá»i) ]
->Count() ->Sum(sub { $_[0]{v} }) ->Average(sub { ... })
->Min(sub { ... }) ->Max(sub { ... })
->First() ->FirstOrDefault()
->Last() ->LastOrDefault()
->Any() ->All(sub { ... })
->ForEach(sub { ... }) ->Aggregate($s, sub { ... })
[ 8. 8. Phép toán táºp hợp ]
->Distinct() ->Union($q2) ->Intersect($q2) ->Except($q2)
->SequenceEqual($q2)
[ 9. 9. Chuyá»n Äá»i ]
->ToJSON('out.json') ->ToJSONL('out.jsonl')
->ToLTSV('output.ltsv') # write as LTSV file (all keys, alphabetical)
->ToLTSV('out.ltsv', label_order=>[qw(a b c)]) # emit specified labels in order
->ToLTSV('out.ltsv', headers =>[qw(a b c)]) # alias for label_order
->ToCSV('output.csv') # ghi ra file CSV (tất cả khóa, theo bảng chữ cái)
->ToCSV('out.csv', headers =>[qw(a b c)]) # các cá»t chá» Äá»nh theo thứ tá»±
( run in 0.609 second using v1.01-cache-2.11-cpan-140bd7fdf52 )