Hướng dẫn python replace none with empty string in json - python thay thế không bằng chuỗi trống trong json

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

Hướng dẫn python replace none with empty string in json - python thay thế không bằng chuỗi trống trong json

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ị

import json

r = json.dumps(j).replace('null', '""')
json.loads(r)
1 bằng một chuỗi trống trong từ điển:

  1. Sử dụng đối số từ khóa
    import json
    
    r = json.dumps(j).replace('null', '""')
    json.loads(r)
    
    2 của phương thức
    import json
    
    r = json.dumps(j).replace('null', '""')
    json.loads(r)
    
    3.
  2. Kiểm tra xem mỗi giá trị chức năng
    import json
    
    r = json.dumps(j).replace('null', '""')
    json.loads(r)
    
    2 được gọi là
    import json
    
    r = json.dumps(j).replace('null', '""')
    json.loads(r)
    
    1.
  3. Nếu có, thay thế giá trị
    import json
    
    r = json.dumps(j).replace('null', '""')
    json.loads(r)
    
    1 bằng một chuỗi trống.

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à

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.

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 đó.

Làm thế nào để bạn thay thế không có chuỗi trống trong Python?

Sử dụng boolean hoặc toán tử để chuyển đổi không có chuỗi trống trong Python, ví dụ:kết quả = không hoặc "".Boolean hoặc toán tử trả về giá trị bên trái nếu đó là sự thật, nếu không giá trị bên phải được trả về.Vì không có giá trị giả, hoạt động sẽ trả về "".Đã sao chép!, e.g. result = None or "" . The boolean OR operator returns the value to the left if it's truthy, otherwise the value to the right is returned. Since None is a falsy value, the operation will return "" . Copied!

Có phải NULL trong JSON không có trong Python?

Dữ liệu JSON Kiểu một boolean bắt đầu với các chữ cái viết thường.Null là JSON tương đương với Python không có.null is the JSON equivalent of Python None .

Bạn có thể có trong JSON không?

JSON có kiểu dữ liệu null, nhưng nó không phải là loại dữ liệu không có.Một từ điển trong Python không thể có giá trị như một giá trị nhưng có thể có giá trị của NULL là một giá trị có thể được hiểu là một chuỗi.. A dictionary in Python cannot have null as a value but can have “null” as a value that can be interpreted as a string.

Làm thế nào để bạn chuyển đổi null thành không có trong Python?

Sử dụng phương thức json.Loads () để chuyển đổi các giá trị null json thành không có trong python. loads() method to convert JSON NULL values to None in Python.