Hướng dẫn how do you add two json objects in python? - làm thế nào để bạn thêm hai đối tượng json trong python?

Gần đây tôi đã bắt đầu làm việc với Python và tôi đang cố gắng kết hợp một trong các chuỗi JSON của mình với chuỗi JSON hiện có. Tôi cũng đang làm việc với ZooKeeper vì vậy tôi nhận được chuỗi JSON hiện có từ Nút ZooKeeper khi tôi đang sử dụng Thư viện Python Kazoo.

# gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8")

Nếu tôi in # gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 4, nó cho tôi như thế này -

{"error_1395946244342":"valueA","error_1395952003":"valueB"}

Nhưng nếu tôi làm # gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 5 thì nó sẽ in ra như thế này -

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'}

Ở đây # gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 4 sẽ có chuỗi JSON hiện tại của tôi. Bây giờ tôi có một cặp giá trị khóa khác mà tôi cần thêm vào # gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 4 -

Dưới đây là mã Python của tôi -

# gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2"

# gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 4 hiện tại của tôi sẽ như thế này sau khi trích xuất từ ​​ZooKeeper -

{"error_1395946244342":"valueA","error_1395952003":"valueB"}

Bây giờ tôi cần thêm cặp giá trị khóa này trong # gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 4 -

"timestamp_in_ms":"Error Occured on machine "+host_info+" in datacenter "+ local_dc +" on the "+ step +" of process "+ c +"

Vì vậy, trong ngắn hạn, tôi cần phải hợp nhất với cặp giá trị khóa -

"error_1395952167":"Error Occured on machine h2 in datacenter dc3 on the step2 of process test"

Vì vậy, chuỗi JSON cuối cùng sẽ trông như thế này -

{"error_1395946244342":"valueA","error_1395952003":"valueB","error_1395952167":"Error Occured on machine h2 in datacenter dc3 on the step2 of process test"}

Đây có phải là có thể làm gì?

Giả sử A và B là những từ điển bạn muốn hợp nhất:

c = { key: value for (key, value) in (a.items() + b.items()) }

Để chuyển đổi chuỗi của bạn thành Từ điển Python, bạn sử dụng các mục sau:

import json my_dict = json.loads(json_str)

Cập nhật: Mã đầy đủ bằng chuỗi:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 0

Kể từ Python 3.5, bạn có thể hợp nhất hai dicts với:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 1

So:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 2

Bạn có thể tải cả hai chuỗi JSON vào từ điển Python và sau đó kết hợp. Điều này sẽ chỉ hoạt động nếu có các khóa duy nhất trong mỗi chuỗi JSON.

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 3

Đây là giải pháp của chúng tôi:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 4

Đối với trường hợp của bạn, điều này sẽ trông như thế này:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 5

Ý bạn là gì khi sáp nhập? Đối tượng JSON là cấu trúc dữ liệu giá trị khóa. Điều gì sẽ là chìa khóa và một giá trị trong trường hợp này? Tôi nghĩ rằng bạn cần tạo thư mục mới và điền nó với dữ liệu cũ:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 6


Gợi ý: 2

Mô -đun Python này cho phép bạn hợp nhất một loạt các tài liệu JSON thành một tài liệu duy nhất. Nó cũng giúp khi xử lý các phiên bản liên tiếp của một tài liệu trong đó các trường khác nhau được cập nhật theo thời gian., Ví dụ ở trên cũng cho thấy cách Jsonmerge thường được sử dụng khi hợp nhất nhiều hơn hai tài liệu. Thông thường, bạn bắt đầu với một cơ sở trống và sau đó hợp nhất các đầu khác nhau vào đó., Trong một trường hợp sử dụng thực tế hơn, tuy nhiên, bạn có thể muốn áp dụng các chiến lược hợp nhất khác nhau cho các phần khác nhau của tài liệu. Bạn có thể nói với Jsonmerge cách thực hiện điều đó bằng cách sử dụng cú pháp dựa trên lược đồ JSON.

Hãy xem xét một ví dụ tầm thường với hai tài liệu:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 7

Chúng tôi gọi tài liệu chúng tôi đang hợp nhất các thay đổi thành cơ sở và đầu tài liệu đã thay đổi. Để hợp nhất hai tài liệu này bằng Jsonmerge:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 8

Hãy nói rằng bạn muốn chỉ định rằng trường thanh được hợp nhất trong tài liệu ví dụ ở trên nên chứa các phần tử từ tất cả các tài liệu, không chỉ tệp mới nhất. Bạn có thể làm điều này với một lược đồ như thế này:

{"error_1395946244342":"valueA","error_1395952003":"valueB"} 9

Để cài đặt bản phát hành Jsonmerge mới nhất từ ​​Gói Python:

Để cài đặt từ nguồn, hãy chạy các phần sau từ đầu phân phối nguồn:

Jsonmerge sử dụng TOX để thử nghiệm. Để chạy bộ kiểm tra chạy:


Gợi ý: 3

Tôi có hai đối tượng JSON. Một là mảng Python được chuyển đổi bằng JSON, Dumps () và các bản ghi khác chứa các bản ghi từ cơ sở dữ liệu và được tuần tự hóa bằng cách sử dụng serializer JSON. Tôi muốn kết hợp chúng thành một đối tượng JSON duy nhất. . Bạn cần kết hợp chúng trong Python trước:

Ví dụ:

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 0

Tôi muốn hợp nhất chúng thành một đối tượng như dưới đây:

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 1

Bạn không thể làm điều đó một khi họ ở định dạng JSON - JSON chỉ là văn bản. Bạn cần kết hợp chúng trong Python trước:

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 2


Gợi ý: 4

Tôi có một danh sách chứa nhiều đối tượng JSON và tôi muốn kết hợp các đối tượng JSON đó thành một đối tượng JSON duy nhất, tôi đã thử sử dụng & nbsp; jsonmerge & nbsp; nhưng không có may mắn. Sử dụng đối tượng-python, làm thế nào để hợp nhất nhiều đối tượng JSON thành một ..., sự khác biệt giữa các mảng và ma trận numpy là gì? Tôi nên sử dụng cái nào? 8 tháng 8

Danh sách của tôi là:

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 3

Đầu ra mong muốn là

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 4

Bạn có thể làm như thế này nhưng nó không nên theo thứ tự.

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 5


Gợi ý: 5

Có những phương pháp khác để làm điều này. Bạn có thể làm điều đó bằng cách nhập thư viện JSON nhưng nó sẽ hơi phức tạp đối với những người mới bắt đầu không biết về các đối tượng JSON và từ điển Python. Vì vậy, ở đây chúng tôi sẽ thực hiện nó bằng cách sử dụng xử lý tệp cơ bản & nbsp; trong Python vì nó sẽ dễ dàng hơn nhiều cho bạn!, Vì vậy, đó là tất cả về cách hợp nhất hai tệp JSON trong Python, cho đến khi đó tiếp tục học, tiếp tục thực hành, tiếp tục đọc !, Ở đây, chúng tôi có 3 tệp khác nhau của loại .json để không lãng phí bất cứ lúc nào, hãy nhảy vào mã để xem việc triển khai. Hãy để xem bạn biết gì về JSON?

Không có thời gian lãng phí, xem mã được đưa ra dưới đây:

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 6

Như bạn đã thấy hình ảnh trên đầu, chúng tôi có ba tệp JSON và tệp thứ ba ‘File3.json hiện đang trống. Hãy để xem những gì sẽ xảy ra sau khi thực hiện mã!

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 7


Gợi ý: 6

Ngày 5 tháng 3 năm 2022March 5, 2022

Mã ví dụ đơn giản.

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 8

{u'error_1395946244342': u'valueA', u'error_1395952003': u'valueB'} 9

Giả sử rằng bạn muốn hợp nhất hai mảng JSON như dưới đây:

# gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 0


Gợi ý: 7

© 2022 Công nghệ Ghi chú Trợ giúp

Bạn đang sử dụng mô -đun {"error_1395946244342":"valueA","error_1395952003":"valueB"} 0 để chuyển đổi tệp JSON thành các đối tượng Python, nhưng bạn không sử dụng mô -đun để chuyển đổi các đối tượng Python đó lại thành JSON. Thay vì điều này ở cuối

# gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 1

thử cái này:

# gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 2

Một cách bạn có thể làm điều đó và điều đó sẽ dẫn đến mã sạch hơn để xác định một hàm lấy hai đối tượng JSON và trả về sự kết hợp của hai đối tượng đó.

# gets the data from zookeeper data, stat = zk.get(some_znode_path) jsonStringA = data.decode("utf-8") timestamp_in_ms = "error_"+str(int(round(time.time() * 1000))) node = "/pp/tf/test/v1" a,b,c,d = node.split("/")[1:] host_info = "h2" local_dc = "dc3" step = "step2" 3


Làm cách nào để thêm hai tệp JSON trong Python?

Tôi đang sử dụng mã dưới đây để hợp nhất các tệp:..
Dữ liệu = [].
cho f trong glob.glob ("*. json"):.
Với Open (f,) như Infile:.
data.append(json.load(infile)).
Với Open ("SYNGED_FILE.JSON", 'W') là Outfile:.
json.dump (dữ liệu, trang phục).
OUT: [[[a, b], [c, d], [e, f]], [[g, h], [i, f], [k, l]], [[m, n], [o, p], [q, r]]].

Làm cách nào để kết hợp hai đối tượng JSON?

JsonObject để hợp nhất hai đối tượng JSON trong Java.Chúng ta có thể hợp nhất hai đối tượng JSON bằng phương thức putall () (được kế thừa từ Java giao diện.using the putAll() method (inherited from interface java.

Làm thế nào để bạn tải nhiều đối tượng JSON trong Python?

Để tải và phân tích tệp JSON với nhiều đối tượng JSON, chúng ta cần tuân theo các bước dưới đây:..
Tạo một danh sách trống có tên JsonList ..
Đọc từng dòng tệp vì mỗi dòng chứa JSON hợp lệ.....
Chuyển đổi từng đối tượng JSON thành Python dict bằng cách sử dụng JSON.....
Lưu từ điển này vào một danh sách có tên là result jsonlist ..

Làm thế nào để bạn thêm dữ liệu JSON trong Python?

Nối tiếp JSON Nó cần phải lấy một kết xuất dữ liệu.Theo đó, thư viện JSON hiển thị phương thức Dump () để ghi dữ liệu vào các tệp.Ngoài ra còn có một phương thức Dumps () (phát âm là Dump Dump-s) để viết vào chuỗi Python.take a data dump. Accordingly, the json library exposes the dump() method for writing data to files. There is also a dumps() method (pronounced as “dump-s”) for writing to a Python string.

Chủ đề