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 )