2
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đã cố gắng quấn đầu xung quanh việc thay thế các giá trị không có trong từ điển JSON bên dưới. Làm thế nào tôi có thể vượt qua JSON này và thay thế các giá trị "Không" bằng các chuỗi trống? Tôi đang gặp khó khăn trong việc hiểu làm thế nào để vượt qua JSON lồng nhau. Sẽ thích nếu ai đó có thể giúp tôi với điều này. Ví dụ JSON lồng nhau dưới đây. Hoặc có cách nào để thay thế các giá trị [chẳng hạn như từ không phải là chuỗi trống] khi sử dụng yêu cầu "nhận" với thư viện yêu cầu trong Python?
{
'house':{
'amount':'$0.00',
'id':1,
'value':0.0
},
'event':'12.199.136.146',
'location':'',
'language':{
'language_name':'English',
'language_id':1,
'language_symbol':None
},
'percentage':1.0,
'identification':'',
'source':{
'name':'john',
'id':-1
},
'paid':{
'amount':'$0.00',
'format':1,
'value':0.0
},
'score':None
}
hỏi ngày 18 tháng 1 năm 2017 lúc 2:09Jan 18, 2017 at 2:09
0
import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
out:
{'event': '12.199.136.146',
'house': {'amount': '$0.00', 'id': 1, 'value': 0.0},
'identification': '',
'language': {'language_id': 1,
'language_name': 'English',
'language_symbol': ''},
'location': '',
'paid': {'amount': '$0.00', 'format': 1, 'value': 0.0},
'percentage': 1.0,
'score': '',
'source': {'id': -1, 'name': 'john'}}
Chuyển đổi nó thành chuỗi và thay thế null[string]
thành ""
và tải lại cho Python
import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
0Đã trả lời ngày 18 tháng 1 năm 2017 lúc 2:19Jan 18, 2017 at 2:19
宏杰 李宏杰宏杰李
11.5K2 Huy hiệu vàng27 Huy hiệu bạc34 Huy hiệu đồng2 gold badges27 silver badges34 bronze badges
2
Thử nó:
#!/usr/bin/python3
import json
from pprint import pprint
jstr = {
'house':{
'amount':'$0.00',
'id':1,
'value':0.0
},
'event':'12.199.136.146',
'location':'',
'language':{
'language_name':'English',
'language_id':1,
'language_symbol':None
},
'percentage':1.0,
'identification':'',
'source':{
'name':'john',
'id':-1
},
'paid':{
'amount':'$0.00',
'format':1,
'value':0.0
},
'score':None
}
data_str = json.dumps[jstr]
data = json.loads[data_str]
pprint[data]
def replaceNone[data_dict,v,rv]:
for key in data_dict.keys[]:
if data_dict[key] == v:
data_dict[key] = rv
elif type[data_dict[key]] is dict:
replaceNone[data_dict[key],v,rv]
replaceNone[data,None,""]
pprint[data]
Đã trả lời ngày 18 tháng 1 năm 2017 lúc 6:22Jan 18, 2017 at 6:22
Harper Kooharper KooHarper Koo
5875 Huy hiệu bạc14 Huy hiệu Đồng5 silver badges14 bronze badges
1
Thay thế không có chuỗi trống trong từ điển trong python #
Để thay thế các giá trị
1 bằng một chuỗi trống trong từ điển:import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
- Sử dụng đối số từ khóa
2 của phương thứcimport json r = json.dumps[j].replace['null', '""'] json.loads[r]
3.import json r = json.dumps[j].replace['null', '""'] json.loads[r]
- Kiểm tra xem mỗi giá trị chức năng
2 được gọi làimport json r = json.dumps[j].replace['null', '""'] json.loads[r]
1.import json r = json.dumps[j].replace['null', '""'] json.loads[r]
- Nếu có, thay thế giá trị
1 bằng một chuỗi trống.import json r = json.dumps[j].replace['null', '""'] json.loads[r]
Copied!
import json employee = { 'name': None, 'address': {'country': None, 'city': 'Hamburg'}, 'age': 30, } def none_to_empty_str[items]: return {k: v if v is not None else '' for k, v in items} json_str = json.dumps[employee] employee = json.loads[json_str, object_pairs_hook=none_to_empty_str] # 👇️ {'name': '', 'address': {'country': '', 'city': 'Hamburg'}, 'age': 30} print[employee]
Chúng tôi đã thay thế tất cả các giá trị
import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
1 trong từ điển bằng các chuỗi trống.Mô -đun JSON làm cho mọi thứ trở nên thẳng thắn hơn một chút nếu bạn có các đối tượng lồng nhau có thể có giá trị
import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
1.Phương thức json.dumps chuyển đổi một đối tượng Python thành chuỗi được định dạng JSON.
Phương thức JSON.LOADS phân tích chuỗi JSON vào một đối tượng Python gốc.
Chúng tôi đã chuyển đối số từ khóa
import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
2 cho phương thức import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
3 và đặt nó thành một hàm.Copied!
def none_to_empty_str[items]: return {k: v if v is not None else '' for k, v in items}
Hàm sẽ được gọi với một danh sách các tổng số giá trị khóa, ví dụ:
{'event': '12.199.136.146',
'house': {'amount': '$0.00', 'id': 1, 'value': 0.0},
'identification': '',
'language': {'language_id': 1,
'language_name': 'English',
'language_symbol': ''},
'location': '',
'paid': {'amount': '$0.00', 'format': 1, 'value': 0.0},
'percentage': 1.0,
'score': '',
'source': {'id': -1, 'name': 'john'}}
1.Trong chức năng của chúng tôi, chúng tôi chỉ cần kiểm tra xem giá trị không phải là
1 và trả về nó, nếu không chúng tôi trả về một chuỗi trống.import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
Bạn có thể trả về bất kỳ giá trị nào khác trong khối
{'event': '12.199.136.146',
'house': {'amount': '$0.00', 'id': 1, 'value': 0.0},
'identification': '',
'language': {'language_id': 1,
'language_name': 'English',
'language_symbol': ''},
'location': '',
'paid': {'amount': '$0.00', 'format': 1, 'value': 0.0},
'percentage': 1.0,
'score': '',
'source': {'id': -1, 'name': 'john'}}
3 nếu một chuỗi trống không phù hợp với trường hợp sử dụng của bạn.Nếu từ điển của bạn không chứa các đối tượng lồng nhau, hãy sử dụng sự hiểu biết của Dict.
Copied!
employee = { 'name': None, 'country': 'Austria', 'age': None, } employee = {k: v if v is not None else '' for k, v in employee.items[]} # 👇️ {'name': '', 'country': 'Austria', 'age': ''} print[employee]
Phương thức Dict.Items trả về một chế độ xem mới về các mục của từ điển [[khóa, giá trị]].
Copied!
my_dict = {'id': 1, 'name': 'Alice'} print[my_dict.items[]] # 👉️ dict_items[[['id', 1], ['name', 'Alice']]]
Trong sự hiểu biết của chúng tôi, chúng tôi kiểm tra xem mỗi giá trị không phải là
import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
1 và trả về nó, nếu không chúng tôi trả về một chuỗi trống.Lưu ý rằng phương pháp này sẽ không hoạt động nếu từ điển của bạn có từ điển lồng nhau có giá trị
import json
r = json.dumps[j].replace['null', '""']
json.loads[r]
1. Nếu đó là trường hợp, hãy sử dụng phương pháp trước đó.