Hướng dẫn add list to json object python - thêm danh sách vào đối tượng json python

Tôi có đối tượng JSON sau đây trong Python:

jsonobj = {
          "a": {
              "b": {
                      "c": var1,
                      "d": var2,
                      "e": [],
                   },

                },
            }

Và tôi muốn nối các yếu tố giá trị khóa vào "E", nhưng không thể tìm ra cú pháp cho nó. Tôi đã thử nối thêm những điều sau đây, nhưng nó không xuất hiện đúng với giá đỡ và trích dẫn:

jsobj["a"]["b"]["e"].append("'f':" + var3)

Thay vào đó, tôi muốn "E" là như sau:

"e":[
       {"f":var3, "g":var4, "h":var5},
       {"f":var6, "g":var7, "h":var8},
    ]

Có ai biết đúng cách để nối vào mảng JSON này không? Đánh giá cao.

Nội dung

  • Giới thiệu
  • Cú pháp
  • Ví dụ 1: Chuyển đổi danh sách Python thành JSON
  • Ví dụ 2: Chuyển đổi danh sách từ điển của Python thành JSON
  • Ví dụ 3: Chuyển đổi danh sách danh sách Python thành JSON thành JSON
  • Bản tóm tắt

Để chuyển đổi danh sách Python thành JSON, hãy sử dụng hàm json.dumps (). Hàm Dumps () lấy danh sách làm đối số và trả về chuỗi JSON.

Cú pháp

Ví dụ 1: Chuyển đổi danh sách Python thành JSON

import json

jsonString = json.dumps(list)

Ví dụ 2: Chuyển đổi danh sách từ điển của Python thành JSON

Ví dụ 1: Chuyển đổi danh sách Python thành JSON

Ví dụ 2: Chuyển đổi danh sách từ điển của Python thành JSON

Ví dụ 3: Chuyển đổi danh sách danh sách Python thành JSON thành JSON

import json

aList = [41, 58, 63]
jsonStr = json.dumps(aList)
print(jsonStr)

Bản tóm tắt

Phương thức Syntax để sử dụng phương thức json.dumps () là

[41, 58, 63]

Ví dụ 2: Chuyển đổi danh sách từ điển của Python thành JSON

Ví dụ 3: Chuyển đổi danh sách danh sách Python thành JSON thành JSON

Ví dụ 3: Chuyển đổi danh sách danh sách Python thành JSON thành JSON

import json

aList = [{'a':1, 'b':2}, {'c':3, 'd':4}]
jsonStr = json.dumps(aList)
print(jsonStr)

Bản tóm tắt

Phương thức Syntax để sử dụng phương thức json.dumps () là

[{"a": 1, "b": 2}, {"c": 3, "d": 4}]

Ví dụ 3: Chuyển đổi danh sách danh sách Python thành JSON thành JSON

Bản tóm tắt

Ví dụ 3: Chuyển đổi danh sách danh sách Python thành JSON thành JSON

import json

aList = [[{'a':1, 'b':2}], [{'c':3, 'd':4}]]
jsonStr = json.dumps(aList)
print(jsonStr)

Bản tóm tắt

Phương thức Syntax để sử dụng phương thức json.dumps () là

[[{"a": 1, "b": 2}], [{"c": 3, "d": 4}]]

Bản tóm tắt

Phương thức Syntax để sử dụng phương thức json.dumps () là

Chúng tôi phải nhập gói JSON để sử dụng json.dumps ().

  • Trong ví dụ này, chúng tôi sẽ lấy một danh sách python với một số số trong đó và chuyển đổi nó thành chuỗi JSON.
  • Chương trình Python
  • Chạy
  • Đầu ra
  • Trong ví dụ này, chúng tôi sẽ lấy một danh sách python với từ điển làm yếu tố và chuyển đổi nó thành chuỗi JSON.
  • Trong ví dụ này, chúng tôi sẽ lấy một danh sách danh sách Python và chuyển đổi nó thành chuỗi JSON.
  • Trong hướng dẫn này về các ví dụ Python, chúng tôi đã học cách chuyển đổi danh sách Python thành chuỗi JSON.
  • Hướng dẫn liên quan

Làm thế nào để nối dữ liệu vào tệp JSON trong Python?

Xây dựng vấn đề

Cho một đối tượng JSON được lưu trữ trong một tệp có tên

jsobj["a"]["b"]["e"].append("'f':" + var3)
4, chẳng hạn như danh sách các từ điển.

Làm thế nào để nối dữ liệu như một từ điển mới cho nó?

jsobj["a"]["b"]["e"].append("'f':" + var3)
0

Phương pháp 1: Sử dụng json.load (tệp) và json.dump (dữ liệu, tệp)

Để cập nhật đối tượng JSON trong một tệp, hãy nhập thư viện

jsobj["a"]["b"]["e"].append("'f':" + var3)
5, đọc tệp bằng
jsobj["a"]["b"]["e"].append("'f':" + var3)
6), thêm mục nhập mới vào cấu trúc dữ liệu danh sách hoặc từ điển
jsobj["a"]["b"]["e"].append("'f':" + var3)
7 và viết đối tượng JSON cập nhật với
jsobj["a"]["b"]["e"].append("'f':" + var3)
8.

Cụ thể, đây là bốn bước cụ thể để cập nhật tệp JSON hiện có với mục nhập mới:

  1. Nhập thư viện
    jsobj["a"]["b"]["e"].append("'f':" + var3)
    
    5 với
    "e":[
           {"f":var3, "g":var4, "h":var5},
           {"f":var6, "g":var7, "h":var8},
        ]
    
    0
  2. Đọc tệp JSON trong cấu trúc dữ liệu bằng cách sử dụng
    "e":[
           {"f":var3, "g":var4, "h":var5},
           {"f":var6, "g":var7, "h":var8},
        ]
    
    1 sau khi mở tệp bằng
    "e":[
           {"f":var3, "g":var4, "h":var5},
           {"f":var6, "g":var7, "h":var8},
        ]
    
    2 ở chế độ đọc
    "e":[
           {"f":var3, "g":var4, "h":var5},
           {"f":var6, "g":var7, "h":var8},
        ]
    
    3. Tại thời điểm này, bạn có dữ liệu JSON trong mã Python của mình dưới dạng từ điển hoặc danh sách (tùy thuộc vào cách dữ liệu của bạn trông giống như bảng chuyển đổi xem bên dưới).
  3. Cập nhật cấu trúc dữ liệu Python với mục nhập mới (ví dụ: từ điển mới để nối vào danh sách).
  4. Viết JSON
    jsobj["a"]["b"]["e"].append("'f':" + var3)
    
    7 cập nhật trở lại tệp JSON bằng
    jsobj["a"]["b"]["e"].append("'f':" + var3)
    
    8 sau khi mở tệp trong chế độ viết bằng
    "e":[
           {"f":var3, "g":var4, "h":var5},
           {"f":var6, "g":var7, "h":var8},
        ]
    
    6.
jsobj["a"]["b"]["e"].append("'f':" + var3)
1

Trên thực tế, khi sử dụng phương thức

"e":[
       {"f":var3, "g":var4, "h":var5},
       {"f":var6, "g":var7, "h":var8},
    ]
7, đối tượng Python được trả về được chuyển đổi từ định dạng JSON bằng cách sử dụng bảng chuyển đổi này:

JsonPython
sự vậtDIGN
mảngdanh sách
sợi dâystr
Số (int)int
số (thực)trôi nổi
thậtĐÚNG VẬY
saiSai
vô giá trịKhông có

Để có được cảm giác tốt hơn cho các cấu trúc dữ liệu quan trọng nhất như từ điển Python, bạn có thể muốn kiểm tra Học viện Khoa học Máy tính Finxter:

Hướng dẫn cuối cùng về từ điển trong Python

Khóa học là miễn phí cho tất cả các thành viên Finxter Premium.

Phương pháp 2: Chỉ mở tệp một lần bằng cách đặt lại con trỏ tệp

Thay vì mở đối tượng tệp hai lần, bạn chỉ có thể mở nó một lần và đặt lại con trỏ tệp bằng

"e":[
       {"f":var3, "g":var4, "h":var5},
       {"f":var6, "g":var7, "h":var8},
    ]
8 để ghi đè nội dung tệp hiện có bằng bốn bước sau:

  1. Sử dụng
    "e":[
           {"f":var3, "g":var4, "h":var5},
           {"f":var6, "g":var7, "h":var8},
        ]
    
    9 để tạo đối tượng
    import json
    
    jsonString = json.dumps(list)
    0 trong chế độ đọc và viết
    import json
    
    jsonString = json.dumps(list)
    1.
  2. Gọi
    import json
    
    jsonString = json.dumps(list)
    2 để tải dữ liệu từ tệp trong mã Python của bạn. Bây giờ, bạn có thể cập nhật dữ liệu trong mã Python của bạn. Ví dụ: nếu tệp JSON của bạn được cấu trúc như một danh sách các từ điển, chỉ cần thêm một từ điển mới.
  3. Sử dụng
    "e":[
           {"f":var3, "g":var4, "h":var5},
           {"f":var6, "g":var7, "h":var8},
        ]
    
    8 để đặt lại con trỏ tệp về vị trí 0, để bạn có thể ghi đè lên nó thay vì nối lại toàn bộ đối tượng JSON.
  4. Gọi
    jsobj["a"]["b"]["e"].append("'f':" + var3)
    
    8 để ghi đè lên
    import json
    
    jsonString = json.dumps(list)
    0 với
    jsobj["a"]["b"]["e"].append("'f':" + var3)
    
    7.

Tại đây, mã cụ thể:

jsobj["a"]["b"]["e"].append("'f':" + var3)
2

Phương pháp 3: Tạo tệp JSON ban đầu và cập nhật nó sau đó

Nếu bạn không có tệp JSON, trước tiên bạn có thể tạo tệp từ danh sách ban đầu như sau:

jsobj["a"]["b"]["e"].append("'f':" + var3)
3

Tóm tắt và thảo luận

Tất cả ba phương thức được trình bày trong bài viết này về cơ bản sử dụng cùng một ý tưởng: gọi

import json

jsonString = json.dumps(list)
7) để cập nhật một tệp với một số dữ liệu. Biến dữ liệu có thể chứa tất cả các định dạng JSON khác nhau như danh sách từ điển hoặc từ điển.

Nếu trước tiên bạn cần tải dữ liệu từ tệp, hãy sử dụng

import json

jsonString = json.dumps(list)
2 trên đối tượng tệp được mở ở chế độ đọc.

Nói chung, việc nối dữ liệu vào tệp JSON không phải là một ý tưởng tốt bởi vì, đối với mỗi bản cập nhật nhỏ, bạn phải đọc và phân tích toàn bộ đối tượng tệp. Nếu tệp JSON của bạn có n mục nhập, độ phức tạp thời gian chạy chỉ cập nhật nó là o (n).n entries, the runtime complexity of just updating it is O(n).

Một cách tiếp cận tốt hơn là lưu trữ dữ liệu dưới dạng tệp CSV có thể đọc từng dòng để đơn giản hóa việc phân tích cú pháp và cập nhật đáng kể bằng cách chỉ nối một dòng vào tệp có độ phức tạp thời gian chạy không đổi.

Cảm ơn bạn đã nghiên cứu bài viết này, vui lòng kiểm tra khóa học gian lận Python miễn phí của tôi để giữ sắc nét và cải thiện các kỹ năng trăn của bạn liên tục, từng ngày. 🙂

Bạn có thể đăng ký miễn phí tại đây:

Lập trình viên hài hước

Hướng dẫn add list to json object python - thêm danh sách vào đối tượng json python
Các lập trình viên thực sự đặt các hằng số phổ biến khi bắt đầu sao cho vũ trụ phát triển để chứa đĩa với dữ liệu họ muốn. - XKCD

Hướng dẫn add list to json object python - thêm danh sách vào đối tượng json python

Trong khi làm việc như một nhà nghiên cứu trong các hệ thống phân tán, Tiến sĩ Christian Mayer đã tìm thấy tình yêu của mình đối với việc dạy các sinh viên khoa học máy tính.

Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer (Nostarch 2020), đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới.

Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây.

Tôi có thể thêm một danh sách vào đối tượng JSON không?

Trước tiên, chúng ta cần thêm một vài mục vào danh sách ArrayList và chuyển danh sách này vào phương thức put () của lớp jsonarray và cuối cùng thêm mảng này vào jsonObject bằng phương thức put ().add a few items to an ArrayList first and pass this list to the put() method of JSONArray class and finally add this array to JSONObject using the put() method.

Làm cách nào để thêm danh sách vào tệp JSON?

Phương pháp 1: Sử dụng JSON ...
Nhập thư viện JSON với JSON nhập khẩu.....
Đọc tệp JSON trong cấu trúc dữ liệu bằng Data = JSON.....
Cập nhật cấu trúc dữ liệu Python với mục nhập mới (ví dụ: từ điển mới để nối vào danh sách).....
Viết dữ liệu JSON được cập nhật trở lại tệp JSON bằng JSON ..

Làm thế nào để bạn viết một danh sách cho một JSON trong Python?

Để chuyển đổi danh sách Python thành JSON, hãy sử dụng hàm json.dumps ().Hàm Dumps () lấy danh sách làm đối số và trả về chuỗi JSON.use json. dumps() function. dumps() function takes list as argument and returns a JSON String.

Làm cách nào để thêm một cặp giá trị khóa vào đối tượng JSON hiện có?

Có nhiều cách để thêm một cặp khóa/giá trị vào một đối tượng:..
Sử dụng khung [] ký hiệu, ví dụ:obj ['name'] = 'john' ..
Sử dụng dấu chấm.ký hiệu, ví dụ:obj.name = 'John' ..
Sử dụng đối tượng.Phương thức gán (), chuyển nó một đối tượng mục tiêu và nguồn làm tham số ..