Hướng dẫn how to create dynamic json in python - cách tạo json động trong python

Tôi cần xây dựng cấu trúc JSON sau đây một cách linh hoạt.

json = {
    "mainkey":"val1",
    "key2":[
   {"keya":"val1rec1","keyb":"val2rec1","keyc":"val3rec1"},
   {"keya":"val1rec2","keyb":"val2rec2","keyc":"val3rec2"},
   {"keya":"val1rec3","keyb":"val2rec3","keyc":"val3rec3"},
   {"keya":"val1rec4","keyb":"val2rec4","keyc":"val3rec4"},
   {"keya":"val1rec5","keyb":"val2rec5","keyc":"val3rec5"}
            ]
       }

Chỉ "{" keya ":" val1rec1 "," keyb ":" val2rec1 "," keyc ":" val3rec1 "}," hàng "lặp" - tức là đọc các giá trị từ tệp CSV và sau đó tạo/tạo các hàng Dựa trên những gì bên trong tệp CSV.

Vì vậy, mã giả của tôi trông giống như thế này:

#create dict
path = 'somewhere\on\my\disk\file.csv'
json_file = {}
json_file['mainkey'] = "val1" 
#read from CSV file
df1 = pd.read_csv(path, header=None)
    #iterate through csv
for row,s in df1.iterrows():
    number = df1.loc[row,0]
    #I'm reading keyb and keyc values from CSV as well, but for brevity my substitution below is not showing that.... 
    json_file['key2'] = "'keya':'"+str(number)+"','keyb':'whatever','keyc':'whatever'"
print (json_file)

Rõ ràng là không sản xuất những gì tôi đang tìm kiếm ở trên - do đó bài viết của tôi ở đây để được hỗ trợ.

15 tháng 4 năm 2021 trong StackOverflow ∙ 3 phút Đọc Tags Tags: Python, JSON, Chuyển đổi ∙ 3 mins read ∙ Tags: Python, Json, Convert

Làm thế nào để tự động xây dựng một đối tượng JSON với Python?

  1. Câu hỏi của Backo
  2. Trả lời bởi Martijn Pieters ♦
  3. Trả lời bởi Milovan Tomašević
    1. từ chuỗi
    2. Từ hồ sơ:
    3. từ các yêu cầu

Câu hỏi của Backo

Trả lời bởi Martijn Pieters ♦

Trả lời bởi Milovan Tomašević

import json

json_data = json.dumps({})
json_data["key"] = "value"

print 'JSON: ', json_data

Trả lời bởi Martijn Pieters ♦

Trả lời bởi Milovan Tomaševićbefore encoding it to a JSON string:

import json

data = {}
data['key'] = 'value'
json_data = json.dumps(data)

từ chuỗi

Trả lời bởi Milovan Tomašević

  • từ chuỗi
  • Từ hồ sơ:

từ các yêu cầu

từ chuỗi

import json
from types import SimpleNamespace

string = '{"foo":3, "bar":{"x":1, "y":2}}'

# Parse JSON into an object with attributes corresponding to dict keys.
x = json.loads(string, object_hook=lambda d: SimpleNamespace(**d))

print(x.foo)
print(x.bar.x)
print(x.bar.y)

output:

Từ hồ sơ:

từ các yêu cầu

{
    "foo": 3,
    "bar": {
        "x": 1,
        "y": 2
    }
}

import json
from types import SimpleNamespace

with open("data.json") as fh:
    string = fh.read()

# Parse JSON into an object with attributes corresponding to dict keys.
x = json.loads(string, object_hook=lambda d: SimpleNamespace(**d))

print(x.foo)
print(x.bar.x)
print(x.bar.y)

output:

từ các yêu cầu

import json
from types import SimpleNamespace
import requests

r = requests.get('https://api.github.com/users/MilovanTomasevic')

# Parse JSON into an object with attributes corresponding to dict keys.
x = json.loads(r.text, object_hook=lambda d: SimpleNamespace(**d))

print(x.name)
print(x.company)
print(x.blog)

output:

Milovan Tomašević
NLB
milovantomasevic.com

Tôi chưa quen với Python và tôi đang chơi với dữ liệu JSON. Tôi muốn tự động xây dựng một đối tượng JSON bằng cách thêm một số giá trị khóa vào đối tượng JSON hiện có.


Tôi đã thử những điều sau nhưng tôi nhận được TypeError: 'str' object does not support item assignment:

Bạn xây dựng đối tượng trước khi mã hóa nó thành chuỗi JSON:


© 2018 - 2022 Milovan Tomašević. & NBSP; Tất cả các quyền.

Ấn tượng | Chính sách cookie

Được cung cấp bởi MT V9.1.49.1.4


JSON có thể năng động?

Tuy nhiên, đôi khi chúng tôi có các thuộc tính cố định và động được trộn trong một đối tượng JSON duy nhất. Chúng ta có thể coi loại cấu trúc này như một đối tượng động.sometimes we have fixed and dynamic properties mixed in a single JSON object. We can treat this kind of structure as a dynamic object.

Làm thế nào để bạn tạo một cấu trúc JSON trong Python?

Làm thế nào để tạo một đối tượng JSON trong Python..
data_set = {"key1": [1, 2, 3], "key2": [4, 5, 6]}.
json_dump = json.bãi rác (data_set).
in (json_dump) chuỗi của đối tượng json ..
json_Object = json.tải (json_dump).
in (json_object ["key1"]) đối tượng json ..

Làm thế nào để bạn tạo một đối tượng JSON từ một chuỗi trong Python?

Sử dụng hàm json.loads ().JSON.Hàm tải () chấp nhận làm đầu vào một chuỗi hợp lệ và chuyển đổi nó thành từ điển Python.Quá trình này được gọi là Deserialization - hành động chuyển đổi một chuỗi thành một đối tượng. loads() function. The json. loads() function accepts as input a valid string and converts it to a Python dictionary. This process is called deserialization – the act of converting a string to an object.

Làm thế nào để bạn vượt qua giá trị động trong tải trọng?

Nói chung, cấu hình tải trọng động bao gồm hai bước cơ bản:..
Chỉ định dữ liệu cơ thể với các tham số động (JSON, XML, Text, JavaScript, HTML) trong trường Dữ liệu POST (bản vá, đặt) ..
Tuyên bố một phương pháp phân tích cú pháp trong trường tập lệnh chuẩn bị.Nếu phương pháp phân tích cú pháp không được chỉ định, hệ thống sẽ xử lý dữ liệu cơ thể dưới dạng văn bản ..