Python Json ke Dikt: Mengubah JSON ke Kamus – Codewithaden

JSON berarti notasi objek JavaScript. Ini berarti bahwa JSON adalah file skrip (dieksekusi), yang terbuat dari teks dalam bahasa pemrograman, digunakan untuk menyimpan dan mentransfer data. Python mendukung JSON melalui paket bawaan yang disebut Paket JSON . Sekarang mari kita lihat bagaimana mengubah JSON menjadi Dict dan String Python.

Python json untuk dikte

Untuk mengonversi JSON ke Dict di Python, gunakan fungsi JSON.LOAD (). JSON.Load () adalah fungsi bawaan yang menghapus data JSON ke objek Python. Itu json Modul membuatnya mudah diurai string json dan file yang berisi objek json

Anda dapat menguraikan string JSON menggunakan json.loads () metode. Metode json.loads () mengembalikan Kamus . Untuk bekerja dengan JSON (string, atau file yang berisi objek JSON) di Python, Anda harus menggunakan Python json modul.

Anda perlu mengimpor modul JSON sebelum dapat menggunakannya.

Langkah -langkah untuk Mengubah JSON ke Dikt dalam Python

Langkah 1: Siapkan data JSON

Buat app.py mengajukan dan melihat kode berikut.

# app.py

import json

videogame = '{"console": "Playstation 5", "games": ["Spiderman", "God of War"]}'
 

Jika Anda tidak ingin menulis data Hardcode JSON, maka Anda dapat menggunakan file JSON eksternal.

Katakanlah kami memiliki file JSON eksternal yang dipanggil data.json , dan konten file berikut.

{
  "console": "Playstation 5",
  "games": [
    "Spiderman",
    "God of War"
  ]
} 

Sekarang, untuk menggunakan file ini di dalam app.py file, kami akan menggunakannya Python dengan pernyataan

# app.py

import json
with open('data.json') as d:
 print(d) 

Di sini, kami telah menggunakan membuka() Fungsi untuk membaca file JSON.

Jika Anda tidak tahu cara membaca dan menulis operasi di Python, lihat artikel berikut.

  1. Cara membaca file dalam python
  2. Cara menulis file dalam python
  3. Penanganan file dalam python

Langkah 2: Konversi JSON ke Dict Menggunakan Fungsi JSON.LOAD ()

Tulis kode berikut di dalam app.py mengajukan.

# app.py

import json


with open('data.json') as d:
    dictData = json.load(d)
    print(dictData)
    print(type(dictData))
    print(dictData['games'])
 

Dalam kode di atas, setelah mengonversi JSON menjadi dikte, kami telah mencetak kamus itu, jenisnya, dan satu properti.

Lihat outputnya.

python3 app.py
{'console': 'Playstation 5', 'games': ['Spiderman', 'God of War']}

['Spiderman', 'God of War'] 

Jika Anda tidak ingin membaca file dan hanya menggunakan data JSON yang hardcoded dalam file, maka Anda dapat menulis kode berikut.

# app.py

import json

videogame = '{"console": "Playstation 5", "games": ["Spiderman", "God of War"]}'
data = json.loads(videogame)

print(data)
print(type(data))

print(data['games'])
 

Keluaran

python3 app.py
{'console': 'Playstation 5', 'games': ['Spiderman', 'God of War']}

['Spiderman', 'God of War'] 

Outputnya sama, tetapi ada satu perbedaan besar dalam fungsi JSON.

Dalam hal ini, kami telah menggunakan fungsi json.loads () dan tidak json.load () fungsi.

Mari kita lihat apa perbedaan di antara mereka.

Perbedaan antara json.load () dan json.loads ()

Python json.load () fungsi harus digunakan dengan objek file dan json.loads () Fungsi digunakan dengan string JSON. S adalah singkatan dari string dalam nama fungsi muat (). Fungsi json.loads () tidak mengambil jalur file tetapi mengambil konten file sebagai a rangkaian

Jadi, dalam contoh di atas, saat kami memiliki jalur file data.json , kami telah menggunakan json.load () fungsi, dan w hen hen kami hanya memiliki konten json sebagai string, maka kami telah menggunakan json.loads () fungsi.

Inilah tabel yang menunjukkan benda Python dan konversi yang setara dengan json

PythonJSON setara
diktobyek
daftar , tuple Himpunan
str rangkaian
int , float, intnomor
BENARBENAR
PALSUSalah
Tidak ada batal

Bagaimana Mengonversi Objek JSON Nested menjadi Kamus

Untuk mengonversi objek JSON bersarang menjadi kamus di Python, gunakan metode json.load () dengan untuk loop. Katakanlah kami memiliki konten berikut di dalam data.json mengajukan.

{
  "console": "Playstation 5",
  "games": ["Spiderman", "God of War"],
  "controller": [
    {
      "name": "DualShock",
      "price": "60"
    },
    {
      "name": "DualSense",
      "price": "100"
    }
  ]
}
 

Sekarang, kami akan menggunakan fungsi terbuka () untuk membuka file JSON mengonversi objek file ke kamus dan mencetak konten kamus. Tulis kode berikut di dalam app.py mengajukan.

# app.py

import json

# Opening JSON file
with open('data.json') as json_file:
    data = json.load(json_file)

    # for reading nested data [0] represents
    # the index value of the list
    print(data['controller'][0])

    print("\nPrinting nested dicitonary as a key-value pair\n")
    for i in data['controller']:
        print("Name:", i['name'])
        print("Price:", i['price'])
 

Keluaran

python3 app.py
{'name': 'DualShock', 'price': '60'}

Printing nested dicitonary as a key-value pair

Name: DualShock
Price: 60

Name: DualSense
Price: 100 

Kesimpulan

Modul Python Json menyediakan fungsi yang membantu kita mengubah Python Json menjadi kamus dan Kamus Python untuk JSON dengan mulus.

Python json.dumps () adalah fungsi bawaan yang mengubah kamus menjadi objek string, bukan objek JSON (kamus).

Python json.loads () adalah fungsi bawaan yang mengubah JSON menjadi objek kamus.

Jika Anda bekerja dengan file atau server statis, Anda dapat dengan mudah mengonversi data dari satu sama lain.

Itu untuk tutorial ini.

Lihat juga

Kamus Python ke DataFrame

Kamus Python untuk CSV

Kamus Python ke String

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *