Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

jshon - Trực tuyến trên đám mây

Chạy jshon trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là lệnh jshon có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình mô phỏng trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


jhon — Trình phân tích cú pháp JSON cho shell

SYNOPSIS


jhon -[P|S|Q|V|C|I|0] [-F path] -[t|l|k|u|p|a] -[s|n] giá trị -[e|i|d] mục lục

MÔ TẢ


jhon phân tích, đọc và tạo JSON. Nó được thiết kế để có thể sử dụng được nhiều nhất có thể từ
trong Shell và thay thế các trình phân tích cú pháp adhoc mỏng manh được tạo từ grep/sed/awk cũng như
trình phân tích cú pháp một dòng hạng nặng được tạo từ Perl/python.

jhon tải văn bản json từ stdin, thực hiện các hành động, sau đó hiển thị hành động cuối cùng trên thiết bị xuất chuẩn.
Một số tùy chọn xuất ra json, một số tùy chọn khác xuất ra các bản tóm tắt văn bản thuần túy. Bởi vì Bash có rất
cơ sở hạ tầng lồng nhau kém, jhon không trả về JSON dưới dạng đối tượng gốc như một đối tượng điển hình
thư viện sẽ. Thay vì jhon giữ lại lịch sử chỉnh sửa trong một ngăn xếp và bạn thao tác
phần tử JSON trên cùng.

HÀNH ĐỘNG


Mỗi hành động có dạng một tùy chọn ngắn. Một số yêu cầu tranh luận. Trong khi nhiều trường hợp
of jhon có thể được truyền qua nhau, các hành động nên được xâu chuỗi một cách tuần tự để giảm
cuộc gọi. Tất cả các ví dụ đều sử dụng mẫu json này:

{"a":1,"b":[true,false,null,"str"],"c":{"d":4,"e":5}}
jshon [hành động] < sample.json

Hầu hết các cách sử dụng chỉ đọc phổ biến nhất sẽ chỉ cần một vài -e hành động và một -a ở giữa
Chúng.

-t (loại) trả về chuỗi, đối tượng, mảng, số, bool, null

json -t -> đối tượng

-l (độ dài) trả về một số nguyên. Chỉ hoạt động trên chuỗi, đối tượng, mảng.

json -l -> 3

-k (keys) trả về danh sách các khóa được phân tách bằng dòng mới. Chỉ hoạt động trên đối tượng.

jshon -k -> abc

-e chỉ số
(trích xuất) trả về giá trị json tại "chỉ mục". Chỉ hoạt động trên đối tượng, mảng. Chỉ số của một
mảng là một số nguyên.

jshon -ec -> {"d":4,"e":5}

-a (ngang) ánh xạ các hành động còn lại trên phần tử đã chọn. Chỉ hoạt động trên các đối tượng
và mảng. Nhiều -a các cuộc gọi có thể được lồng vào nhau, mặc dù nhu cầu này rất hiếm trong thực tế.

jshon -eb -a -t -> chuỗi bool bool null

-s giá trị
(chuỗi) trả về chuỗi được mã hóa json. Sau này có thể được (-i) đưa vào một cái hiện có
cấu trúc.

jshon -s "back\slash" -> "back\\slash"

-n giá trị
(không phải chuỗi/số) trả về phần tử json. Sau này có thể được (-i) đưa vào một cái hiện có
kết cấu. Các giá trị hợp lệ là 'true', 'false', 'null', 'array', 'object', số nguyên và
nổi. Các chữ viết tắt t, f, n, [] và {} tương ứng cũng có tác dụng.

đối tượng json -n -> {}

-u (unstring) trả về một chuỗi đã được giải mã. Chỉ hoạt động trên các loại đơn giản: chuỗi, int, real,
boolean, vô giá trị.

jshon -eb -e 3 -u -> str

-p (pop) bật thao tác cuối cùng từ ngăn xếp, tua lại lịch sử. Hữu ích cho
trích xuất nhiều giá trị từ một đối tượng.

jshon -ec -ed -u -p -ee -u -> 4 5

-d chỉ số
(xóa) xóa một mục trong một mảng hoặc đối tượng. Các chỉ mục mảng phủ định sẽ bao bọc
xung quanh.

jshon -db -> {"a":1,"c":{"d":4,"e":5}}

-i chỉ số
(chèn) là phức tạp. Nó là mặt trái của chiết xuất. Trích xuất đặt một phần tử phụ json
trên ngăn xếp. Chèn sẽ xóa một phần tử phụ khỏi ngăn xếp và chèn bit json đó
vào mảng/đối tượng lớn hơn bên dưới. Sử dụng giải nén để đi sâu vào cây json,
xóa/chuỗi/không chuỗi để thay đổi mọi thứ và chèn để đẩy các thay đổi trở lại
cây.

jshon -ea -ia -> json gốc
jshon -s one -ia -> {"a:"one", ...}

Mảng được xử lý theo cách đặc biệt. Truyền số nguyên sẽ chèn một giá trị mà không có
ghi đè. Các số nguyên âm được chấp nhận, cũng như chuỗi 'nối thêm'. Để ghi đè
một giá trị trong một mảng: xóa chỉ mục, -n/s giá trị mới rồi chèn vào chỉ mục.

jshon -eb -d 0 -sq -i 0 -> {"b:"q",false,null,"str"}

KHÔNG ĐIỀU CHỈNH


Có một số tùy chọn meta không trực tiếp chỉnh sửa json. Gọi những thứ này nhiều nhất một lần mỗi lần
sự cầu khẩn.

-F
(tệp) đọc từ một tệp thay vì stdin. Tùy chọn không thao túng duy nhất để thực hiện
tranh luận.

-P (jsonp) loại bỏ lệnh gọi lại jsonp trước khi tiếp tục bình thường.

-S (sắp xếp) trả về json được sắp xếp theo khóa, thay vì thứ tự ban đầu.

-Q (im lặng) vô hiệu hóa báo cáo lỗi trên stderr, do đó bạn không cần phải rắc "2> /dev/null"
xuyên suốt kịch bản của bạn.

-V (theo giá trị) cho phép truyền theo giá trị trên ngăn xếp lịch sử chỉnh sửa. Trong trường hợp cực đoan với
hàng ngàn giá trị được lồng sâu vào nhau, điều này có thể dẫn đến jhon chạy chậm hơn nhiều lần
trong khi sử dụng bộ nhớ nhiều hơn nhiều lần. Tuy nhiên, giá trị phụ an toàn hơn tham chiếu phụ và
thường ít gây ngạc nhiên hơn. Tham chiếu phụ được bật theo mặc định vì không có
rủi ro trong các hoạt động chỉ đọc và thường làm cho việc chỉnh sửa json thuận tiện hơn.

jshon -ec -n 7 -id -p -> c["d"] == 7
jshon -V -ec -n 7 -id -p -> c["d"] == 5
jshon -V -ec -n 7 -id -ic -> c["d"] == 7

Với -V , các thay đổi phải được chèn trở lại ngăn xếp theo cách thủ công thay vì chỉ đơn giản là
bật ra các giá trị trung gian.

-C (tiếp tục) về các lỗi có thể phục hồi được. Ví dụ: trích xuất các giá trị không
tồn tại sẽ thêm 'null' vào ngăn chỉnh sửa thay vì hủy bỏ. Hành vi có thể thay đổi trong
Tương lai.

-I (tại chỗ) chỉnh sửa tập tin. Yêu cầu một tệp để sửa đổi và do đó chỉ hoạt động với -F. Đây là
có nghĩa là thực hiện các thay đổi nhỏ đối với tệp json. Khi sử dụng, đầu ra bình thường sẽ bị chặn
và phần dưới cùng của ngăn xếp chỉnh sửa được viết ra.

-0 (dấu phân cách null) Thay đổi dấu phân cách của -u từ dòng mới thành null. Tùy chọn này
chỉ ảnh hưởng đến -u vì đó là lần duy nhất một dòng mới có thể xuất hiện hợp pháp trong
đầu ra.

--phiên bản
Trả về dấu thời gian YYYYMMDD và thoát.

KHÁC TOOLS


jhon luôn xuất ra một trường trên mỗi dòng. Nhiều công cụ unix yêu cầu tách nhiều tab
các trường trên mỗi dòng. Đưa đầu ra qua 'dán' để khắc phục điều này. Tuy nhiên, dán không thể
xử lý các dòng trống để đệm những dòng đó bằng một phần giữ chỗ. Đây là một ví dụ:

json... | sed 's/^$/-/' | dán -s -d '\t\t\n'

Điều này thay thế các khoảng trống bằng '-' và hợp nhất ba dòng thành một.

Ngày càng có nhiều công cụ tạo ra đầu ra json. Thông thường chúng sử dụng định hướng theo dòng
json/bản rõ kết hợp trong đó mỗi dòng là một cấu trúc json độc lập. Đáng buồn là điều này có nghĩa
toàn bộ đầu ra không phải là json hợp pháp. Hoặc lặp qua từng dòng dữ liệu
(gọi jhon một lần cho mỗi dòng) hoặc chuyển đổi nó thành một mảng json hợp pháp. Ví dụ:

trong khi đọc dòng; làm jhon <<< "$line"; xong < <(journalctl -o json)

tạp chí -o json | sed -e '1i[' -e '$!s/$/,/' -e '$a]' | jhon

GOLF


Nếu bạn quan tâm đến những dòng viết cực ngắn, các lập luận có thể bị cô đọng khi nó không
gây ra sự mơ hồ. Ví dụ từ -nhạc pop) có thể chơi gôn như sau:

jshon -ec -ed -u -p -ee -u == jshon -ec -ed -upee -u

Tôi không khuyên bạn nên làm điều này (nó khiến mọi thứ khó hiểu hơn nhiều) nhưng một số người
chơi gôn bất chấp hậu quả.

SÁNG TẠO JSON


jhon có thể tạo json bằng cách chuyển một đối tượng trống làm đầu vào:

jshon -s one -ia <<< "{}"

TÁC GIẢ


jhon được viết bởi Kyle Keen[email được bảo vệ]> với các bản vá từ Dave Reisner
<[email được bảo vệ]>, AndrewF (BSD, OSX, jsonp, sắp xếp) và Jean-Marc A (solaris).

Sử dụng jshon trực tuyến bằng dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    NSIS: Hệ thống cài đặt tập lệnh Nullsoft
    NSIS: Hệ thống cài đặt tập lệnh Nullsoft
    NSIS (Cài đặt tập lệnh Nullsoft
    System) là một mã nguồn mở chuyên nghiệp
    hệ thống để tạo bộ cài đặt Windows. Nó
    được thiết kế nhỏ và linh hoạt
    như sở hữu ...
    Tải xuống NSIS: Hệ thống cài đặt tập lệnh Nullsoft
  • 2
    xác thực
    xác thực
    AuthPass là một mật khẩu nguồn mở
    quản lý với sự hỗ trợ cho phổ biến và
    Keepass đã được chứng minh (kdbx 3.x VÀ kdbx 4.x ...
    Tải xuống mật khẩu xác thực
  • 3
    Zabbix
    Zabbix
    Zabbix là một công ty mở cấp doanh nghiệp
    nguồn giải pháp giám sát phân tán
    được thiết kế để giám sát và theo dõi
    hiệu suất và tính khả dụng của mạng
    máy chủ, thiết bị ...
    Tải xuống Zabbix
  • 4
    KĐ3
    KĐ3
    Kho lưu trữ này không còn được duy trì
    và được giữ cho mục đích lưu trữ. Nhìn thấy
    https://invent.kde.org/sdk/kdiff3 for
    mã mới nhất và
    https://download.kde.o...
    Tải xuống KDiff3
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX là một GUI cho
    Bộ nạp USB của Waninkoko, dựa trên
    libwiigui. Nó cho phép liệt kê và
    khởi chạy trò chơi Wii, trò chơi Gamecube và
    homebrew trên Wii và WiiU ...
    Tải xuống USBLoaderGX
  • 6
    Chim lửa
    Chim lửa
    Firebird RDBMS cung cấp các tính năng ANSI SQL
    & chạy trên Linux, Windows &
    một số nền tảng Unix. Đặc trưng
    đồng thời và hiệu suất tuyệt vời
    & sức mạnh...
    Tải xuống Firebird
  • Khác »

Lệnh Linux

Ad