Saya baru mengenal Python dan saya bermain dengan data JSON. Saya ingin secara dinamis membangun objek JSON dengan menambahkan beberapa nilai kunci ke objek JSON yang ada.
Saya mencoba yang berikut tetapi saya dapat TypeError: 'str' object does not support item assignment
:
import json
json_data = json.dumps({})
json_data["key"] = "value"
print 'JSON: ', json_data
json_data['key'] = 'value'
, yang tidak akan berhasil karenajson_data
bukan kamus Python.pip list
memberi Anda informasi yang sama dan dapat menampilkan JSON:pip list --format=json
Anda dapat membuat kamus Python dan membuat serial menjadi JSON dalam satu baris dan itu bahkan tidak jelek.
sumber
Sudah ada solusi yang disediakan yang memungkinkan membangun kamus, (atau kamus bersarang untuk data yang lebih kompleks), tetapi jika Anda ingin membangun sebuah objek, maka mungkin coba 'ObjDict'. Ini memberi jauh lebih banyak kontrol atas json yang akan dibuat, misalnya mempertahankan pesanan, dan memungkinkan bangunan sebagai objek yang mungkin merupakan representasi yang disukai dari konsep Anda.
pip instal keberatan dulu.
sumber
json.dumps
yaitujson.dumps(response, sort_keys=True, indent=4)
, tetapi kemudian Anda terjebak dengan urutan alfabet dan bukan urutan, pengelompokan, dan representasi pilihan AndaAnda dapat menggunakan
EasyDict
perpustakaan ( doc ) :[ Instalasi ]:
pip install easydict
sumber
Semua jawaban sebelumnya benar, berikut adalah satu lagi dan cara mudah untuk melakukannya. Misalnya, buat struktur data Dict untuk membuat serial dan deserialize objek
( Perhatikan Tidak ada yang Null dalam python dan saya sengaja menggunakan ini untuk menunjukkan bagaimana Anda dapat menyimpan null dan mengubahnya menjadi json null)
sumber