Menu
CoddyTech

Memformat output JSON

Pelajaran 5 dari 9 dalam kursus JSON Python di Coddy.

Saat bekerja dengan data JSON, memformat output agar lebih mudah dibaca sering kali berguna. Fungsi json.dumps() Python menyediakan parameter untuk mengatur format output JSON agar lebih mudah dibaca manusia. Proses ini sering disebut "pretty-printing".

Parameter indent

Parameter indent dalam json.dumps() memungkinkan kamu menentukan jumlah spasi untuk indentasi. Ini menghasilkan struktur hierarkis yang lebih mudah dibaca:


import json

data = {"name": "John", "age": 30, "city": "New York"}

# Tanpa indentasi
print(json.dumps(data))

# Dengan indentasi
print(json.dumps(data, indent=2))

Output dengan indent=2 akan menjadi:


{
  "name": "John",
  "age": 30,
  "city": "New York"
}

Parameter separators

Parameter separators memungkinkan kamu menentukan pemisah untuk item dan pasangan kunci-nilai. Parameter ini berupa tuple yang terdiri dari dua string: (item_separator, key_separator).


# Pemisah bawaan
print(json.dumps(data, indent=2))

# Pemisah khusus
print(json.dumps(data, indent=2, separators=(', ', ': ')))

Pemisah default-nya adalah (', ', ': '). Kamu dapat menggunakan parameter ini untuk membuat output lebih ringkas atau menambahkan spasi ekstra.

Menggabungkan Parameter

Kamu dapat menggabungkan parameter ini untuk mengatur output JSON dengan lebih cermat:


formatted_json = json.dumps(data, indent=4, separators=(', ', ': '))
print(formatted_json)

Kombinasi ini menghasilkan output JSON yang tertata rapi dan mudah dibaca. Ini sangat berguna saat bekerja dengan struktur bertingkat yang kompleks atau saat kamu perlu menyajikan data JSON dalam format yang lebih mudah dibaca manusia.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

challenge icon

Tantangan

Mudah

Buat fungsi yang memformat struktur JSON bertingkat dengan indentasi dan pemisah khusus. Fungsi tersebut harus:

  1. Menerima tiga parameter: dictionary atau list Python, tingkat indentasi, dan flag boolean untuk output ringkas.
  2. Menggunakan json.dumps() untuk mengubah input menjadi string JSON.
  3. Mengatur indentasi ke tingkat yang ditentukan jika flag ringkas bernilai False, jika tidak, gunakan tanpa indentasi.
  4. Menggunakan koma yang diikuti spasi (", ") sebagai pemisah item dan titik dua yang diikuti spasi (": ") sebagai pemisah kunci jika flag ringkas bernilai False. Gunakan koma (",") dan titik dua (":") tanpa spasi jika flag ringkas bernilai True.
  5. Mengembalikan string JSON yang telah diformat.

Input berikut akan diberikan:


{"menu": {"id": "file", "value": "File", "popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"}]}}}
4
false

Cetak string JSON yang dihasilkan.

Coba sendiri

import json

# Baca input
json_input = input()
indent_level = int(input())
compact = input().lower() == 'true'

# Uraikan input JSON
data = json.loads(json_input)

def format_json(data, indent, compact):
    # TODO: Tulis kodemu di sini
    # Buat fungsi pemformatan JSON khusus
    pass

# Format JSON dan cetak hasilnya
formatted_json = format_json(data, indent_level, compact)
print(formatted_json)

Semua pelajaran di JSON Python

Latihan sendiri: Compiler Python online

Format dan jelajahi JSON apa pun: Pemformat JSON