ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

jshon - ออนไลน์ในคลาวด์

เรียกใช้ jshon ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง jshon ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


ชอน — ตัวแยกวิเคราะห์ JSON สำหรับเชลล์

เรื่องย่อ


ชอน -[P|S|Q|V|C|I|0] [-F path] -[t|l|k|u|p|a] -[s|n] ค่า -[e|i|d] ดัชนี

DESCRIPTION


ชอน แยกวิเคราะห์ อ่าน และสร้าง JSON ได้รับการออกแบบมาให้ใช้งานได้ดีที่สุดจาก
ภายในเชลล์และแทนที่ parsers adhoc ที่เปราะบางซึ่งทำจาก grep/sed/awk รวมทั้ง
ตัวแยกวิเคราะห์บรรทัดเดียวรุ่นหนาที่ทำจาก perl/python

ชอน โหลดข้อความ json จาก stdin ดำเนินการ แล้วแสดงการดำเนินการล่าสุดบน stdout
อ็อพชันบางตัวส่งออก json อื่น ๆ เอาต์พุตสรุปข้อความธรรมดา เพราะ Bash มีมาก
โครงสร้างข้อมูลที่ซ้อนกันไม่ดี ชอน ไม่ส่งคืน JSON เป็นวัตถุดั้งเดิมตามปกติ
ห้องสมุดจะ. แทนที่ ชอน เก็บประวัติการแก้ไขไว้ในกอง และคุณจัดการ
องค์ประกอบ JSON สูงสุด

การกระทำ


แต่ละการกระทำจะอยู่ในรูปแบบของตัวเลือกสั้นๆ บางคนต้องการข้อโต้แย้ง ในขณะที่หลาย ๆ กรณี
of ชอน สอดผ่านกันได้ การกระทำควรล่ามโซ่ตามลำดับเพื่อลด
โทร. ตัวอย่างทั้งหมดใช้ตัวอย่าง json นี้:

{"a":1,"b":[จริง,เท็จ,null,"str"],"c":{"d":4,"e":5}}
jshon [การกระทำ] < sample.json

การใช้งานแบบอ่านอย่างเดียวทั่วไปส่วนใหญ่จะต้องใช้หลายอย่างเท่านั้น -e การกระทำและหนึ่ง -a ตรงกลางของ
พวกเขา

-t (ประเภท) ส่งกลับสตริง, อ็อบเจ็กต์, อาร์เรย์, หมายเลข, บูล, null

jshon -t -> วัตถุ

-l (ความยาว) ส่งกลับจำนวนเต็ม ใช้งานได้กับสตริง วัตถุ อาร์เรย์เท่านั้น

jshon -l -> 3

-k (คีย์) ส่งคืนรายการคีย์ที่คั่นด้วยการขึ้นบรรทัดใหม่ ใช้งานได้กับวัตถุเท่านั้น

jshon -k -> abc

-e ดัชนี
(แยก) ส่งคืนค่า json ที่ "ดัชนี" ใช้ได้เฉพาะกับอ็อบเจ็กต์, อาร์เรย์ ดัชนีของ an
อาร์เรย์เป็นจำนวนเต็ม

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

-a (ข้าม) จับคู่การกระทำที่เหลือในองค์ประกอบที่เลือก ใช้งานได้กับวัตถุเท่านั้น
และอาร์เรย์ หลายรายการ -a การโทรสามารถซ้อนกันได้ แม้ว่าความต้องการจะหายากในทางปฏิบัติ

jshon -eb -a -t -> bool bool null string

-s ความคุ้มค่า
(สตริง) ส่งคืนสตริงที่เข้ารหัส json ภายหลังสามารถ (-i) nserted ที่มีอยู่
โครงสร้าง

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

-n ความคุ้มค่า
(nonstring/number) ส่งคืนองค์ประกอบ json ภายหลังสามารถ (-i) nserted ที่มีอยู่
โครงสร้าง. ค่าที่ถูกต้องคือ 'จริง', 'เท็จ', 'null', 'อาร์เรย์', 'วัตถุ', จำนวนเต็มและ
ลอย ตัวย่อ t, f, n, [] และ {} ตามลำดับก็ใช้ได้เช่นกัน

jshon -n วัตถุ -> {}

-u (unstring) ส่งคืนสตริงที่ถอดรหัสแล้ว ใช้งานได้กับประเภทธรรมดาเท่านั้น: string, int, real,
บูลีน, null.

jshon -eb -e 3 -u -> str

-p (ป๊อป) แสดงการจัดการล่าสุดจากสแต็ก ย้อนประวัติ มีประโยชน์สำหรับ
แยกค่าหลายค่าจากวัตถุเดียว

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

-d ดัชนี
(ลบ) ลบรายการในอาร์เรย์หรือวัตถุ ดัชนีอาร์เรย์เชิงลบจะห่อ
รอบ

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

-i ดัชนี
(แทรก) มีความซับซ้อน เป็นการย้อนกลับของสารสกัด Extract วางองค์ประกอบย่อย json
บนสแต็ก แทรกเอาองค์ประกอบย่อยออกจากสแต็กและแทรกบิตของjson
ลงในอาร์เรย์/อ็อบเจ็กต์ที่ใหญ่กว่าด้านล่าง ใช้สารสกัดเพื่อดำดิ่งสู่ต้นไม้ json
ลบ/สตริง/ไม่สตริงเพื่อเปลี่ยนแปลงสิ่งต่างๆ และแทรกเพื่อผลักดันการเปลี่ยนแปลงกลับเข้าสู่
ต้นไม้.

jshon -ea -ia -> json . ดั้งเดิม
jshon -s หนึ่ง -ia -> {"a":"หนึ่ง", ...}

อาร์เรย์ได้รับการจัดการในลักษณะพิเศษ การผ่านจำนวนเต็มจะแทรกค่าโดยไม่มี
เขียนทับ ยอมรับจำนวนเต็มลบได้ เช่นเดียวกับสตริง 'ผนวก' ที่จะเขียนทับ
ค่าในอาร์เรย์: ลบดัชนี -NS ค่าใหม่แล้วแทรกที่ดัชนี

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

ไม่ใช่การจัดการ


มี meta-options หลายตัวที่ไม่ได้แก้ไข json โดยตรง เรียกสิ่งเหล่านี้ได้มากที่สุดหนึ่งครั้งต่อ
วิงวอน

-F
(file) อ่านจากไฟล์แทน stdin ตัวเลือกเดียวที่ไม่ใช้การจัดการเพื่อรับ an
ข้อโต้แย้ง.

-P (jsonp) ตัดการเรียกกลับ jsonp ก่อนดำเนินการต่อตามปกติ

-S (sort) ส่งคืน json ที่จัดเรียงตามคีย์ แทนการเรียงลำดับดั้งเดิม

-Q (เงียบ) ปิดใช้งานการรายงานข้อผิดพลาดบน stderr ดังนั้นคุณไม่จำเป็นต้องโรย "2> /dev/null"
ตลอดทั้งสคริปต์ของคุณ

-V (by-value) เปิดใช้งาน pass-by-value บนสแต็กประวัติการแก้ไข ในกรณีที่รุนแรงกับ
ค่าที่ซ้อนกันอย่างลึกซึ้งหลายพันค่านี้อาจส่งผลให้ ชอน วิ่งช้าลงหลายเท่า
ในขณะที่ใช้หน่วยความจำเพิ่มขึ้นหลายเท่า อย่างไรก็ตาม ค่าพลอยได้นั้นปลอดภัยกว่าค่าอ้างอิงและ
มักทำให้แปลกใจน้อยลง By-reference เปิดใช้งานโดยค่าเริ่มต้นเนื่องจากไม่มี
ความเสี่ยงระหว่างการดำเนินการแบบอ่านอย่างเดียวและโดยทั่วไปทำให้การแก้ไข json สะดวกยิ่งขึ้น

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 การเปลี่ยนแปลงจะต้องแทรกกลับด้วยตนเองผ่านสแต็กแทนเพียง
โผล่ออกจากค่ากลาง

-C (ต่อ) กับข้อผิดพลาดที่อาจกู้คืนได้ ตัวอย่างเช่น การแยกค่าที่ไม่
มีอยู่จะเพิ่ม 'null' ให้กับกองแก้ไขแทนที่จะยกเลิก พฤติกรรมอาจเปลี่ยนแปลงใน
อนาคต.

-I (แทนที่) การแก้ไขไฟล์ ต้องใช้ไฟล์เพื่อแก้ไขและใช้งานได้กับ -F เท่านั้น นี่คือ
หมายถึงการเปลี่ยนแปลงเล็กน้อยในไฟล์ json เมื่อใช้ เอาต์พุตปกติจะถูกระงับ
และด้านล่างของกองแก้ไขจะถูกเขียนออกมา

-0 (ตัวคั่นค่าว่าง) เปลี่ยนตัวคั่นของ -u จากการขึ้นบรรทัดใหม่เป็นค่าว่าง ตัวเลือกนี้
มีผลกับ -u เท่านั้นเพราะนั่นเป็นครั้งเดียวที่การขึ้นบรรทัดใหม่อาจปรากฏใน
เอาท์พุต

--รุ่น
ส่งกลับการประทับเวลา YYYYMMDD และออก

อื่น ๆ TOOLS


ชอน ส่งออกหนึ่งฟิลด์ต่อบรรทัดเสมอ เครื่องมือยูนิกซ์จำนวนมากคาดว่าจะแยกหลายแท็บ
ฟิลด์ต่อบรรทัด ไปป์เอาต์พุตผ่าน 'วาง' เพื่อแก้ไขปัญหานี้ อย่างไรก็ตาม แปะไม่ได้
จัดการบรรทัดว่างเพื่อรองบรรทัดที่มีตัวยึดตำแหน่ง นี่คือตัวอย่าง:

jshon ... | sed 's/^$/-/' | วาง -s -d '\t\t\n'

ซึ่งจะแทนที่ช่องว่างด้วย '-' และรวมทุกสามบรรทัดเป็นหนึ่งเดียว

มีเครื่องมือมากมายที่สร้างเอาต์พุต json บ่อยครั้งที่สิ่งเหล่านี้ใช้การเน้นเส้น
json/plaintext hybrid โดยที่แต่ละบรรทัดเป็นโครงสร้าง json อิสระ น่าเศร้าที่สิ่งนี้หมายถึง
ผลลัพธ์โดยรวมไม่ใช่ json ที่ถูกต้องตามกฎหมาย ไม่ว่าจะวนซ้ำข้อมูลทีละบรรทัด
(เรียก ชอน หนึ่งครั้งสำหรับแต่ละบรรทัด) หรือแปลงเป็นอาร์เรย์ json ที่ถูกต้อง ตัวอย่างเช่น:

ขณะอ่านบรรทัด; ทำ jshon <<< "$line"; เสร็จสิ้น <<(journalctl -o json)

journalctl -o json | sed -e '1i[' -e '$!s/$/,/' -e '$a]' | ชอน

GOLF


หากคุณสนใจเรื่องสั้นมากเพียงเส้นเดียว การโต้แย้งสามารถย่อได้เมื่อไม่เป็นเช่นนั้น
ทำให้เกิดความไม่ชัดเจน ตัวอย่างจาก -โผล่) สามารถตีกอล์ฟได้ดังนี้

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

ฉันไม่แนะนำให้ทำเช่นนี้ (มันทำให้สิ่งที่เข้าใจยากขึ้นมาก) แต่บางคน
กอล์ฟแม้จะมีผลที่ตามมา

การสร้าง JSON


ชอน สามารถสร้าง json โดยส่งวัตถุว่างเป็นอินพุต:

jshon -s หนึ่ง -ia <<< "{}"

ผู้เขียน


ชอน ถูกเขียนโดย Kyle Keen[ป้องกันอีเมล]> พร้อมแพทช์จาก Dave Reisner
<[ป้องกันอีเมล]>, AndrewF (BSD, OSX, jsonp, การเรียงลำดับ) และ Jean-Marc A (โซลาริส)

ใช้ jshon ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    NSIS: ระบบติดตั้งสคริปต์ Nullsoft
    NSIS: ระบบติดตั้งสคริปต์ Nullsoft
    NSIS (การติดตั้งสคริปต์ Nullsoft
    System) เป็นโอเพ่นซอร์สระดับมืออาชีพ
    ระบบสร้างตัวติดตั้ง Windows มัน
    ได้รับการออกแบบให้มีขนาดเล็กและยืดหยุ่น
    อย่างพอสซี่...
    ดาวน์โหลด NSIS: Nullsoft Scriptable Install System
  • 2
    รับรองความถูกต้อง
    รับรองความถูกต้อง
    AuthPass เป็นรหัสผ่านโอเพ่นซอร์ส
    ผู้จัดการด้วยการสนับสนุนที่เป็นที่นิยมและ
    Keepass ที่พิสูจน์แล้ว (kdbx 3.x และ kdbx 4.x ...
    ดาวน์โหลด authpass
  • 3
    Zabbix
    Zabbix
    Zabbix เป็น open ระดับองค์กร
    โซลูชันการตรวจสอบแบบกระจายแหล่งที่มา
    ออกแบบมาเพื่อตรวจสอบและติดตาม
    ประสิทธิภาพและความพร้อมใช้งานของเครือข่าย
    เซิร์ฟเวอร์ อุปกรณ์...
    ดาวน์โหลด Zabbix
  • 4
    เคดิฟ3
    เคดิฟ3
    ที่เก็บนี้ไม่ได้รับการดูแลอีกต่อไป
    และเก็บไว้เพื่อวัตถุประสงค์ในการเก็บถาวร ดู
    https://invent.kde.org/sdk/kdiff3 for
    รหัสใหม่ล่าสุดและ
    https://download.kde.o...
    ดาวน์โหลด KDiff3
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX เป็น GUI สำหรับ
    USB Loader ของ Waninkoko ขึ้นอยู่กับ
    ลิบวิกี จะช่วยให้รายการและ
    เปิดตัวเกม Wii เกม Gamecube และ
    homebrew บน Wii และ WiiU...
    ดาวน์โหลด USBLoaderGX
  • 6
    Firebird
    Firebird
    Firebird RDBMS นำเสนอคุณสมบัติ ANSI SQL
    & ทำงานบน Linux, Windows &
    หลายแพลตฟอร์ม Unix คุณสมบัติ
    การทำงานพร้อมกันและประสิทธิภาพที่ยอดเยี่ยม
    & พลัง...
    ดาวน์โหลด Firebird
  • เพิ่มเติม»

คำสั่ง Linux

Ad