Junior
Ի՞նչ տարբերություններ կան json.dumps և json.dump ֆունկցիաների միջև, ինչպես նաև json.loads և json.load։
sobes.tech AI
Պատասխան AI-ից
json.dumps (վերջում s նշանակում է string) փոխում է Python օբյեկտը JSON ձևաչափի տող։
json.dump փոխում է Python օբյեկտը JSON ձևաչափի տող և գրում այն նման ֆայլային օբյեկտի (օրինակ՝ ֆայլ) մեջ նշված ուղու վրա։
import json
data = {'name': 'Alice', 'age': 30}
# json.dumps
json_string = json.dumps(data, indent=4) # Օբյեկտը փոխում է տողին
print(json_string)
# json.dump
with open('output.json', 'w') as f:
json.dump(data, f, indent=4) # Օբյեկտը գրում է ֆայլին
json.loads (վերև, s նշանակում է string) փոխում է JSON ձևաչափի տողը վերադառնում Python օբյեկտ։
json.load կարդում է տվյալները ֆայլային օբյեկտից (օրինակ՝ ֆայլից) JSON ձևաչափով և վերածում է Python օբյեկտի։
import json
json_string = '{"name": "Bob", "age": 25}'
# json.loads
python_object_from_string = json.loads(json_string) # Տողը փոխում է օբյեկտի
print(python_object_from_string)
# json.load
with open('input.json', 'r') as f:
python_object_from_file = json.load(f) # Կարդում է ֆայլից և փոխում
print(python_object_from_file)
Տարբերությունների ամփոփ աղյուսակ՝
| Ֆունկցիա | Ներմուծման տվյալներ | Ելքային տվյալներ | Հիմնական նպատակ |
|---|---|---|---|
json.dumps |
Python օբյեկտ | Տող (JSON ձևաչափ) | Օբյեկտը փոխում է տողին փոխանցման/պահպանման համար |
json.dump |
Python օբյեկտ | Գրում է ֆայլային օբյեկտում | Օբյեկտը փոխում և գրում է ֆայլում |
json.loads |
JSON ձևաչափի տող | Python օբյեկտ | Տողը վերլուծում և փոխում է օբյեկտի |
json.load |
Ֆայլային օբյեկտ | Python օբյեկտ | Կարդում է ֆայլից և փոխում է օբյեկտի |