Sobes.tech
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 օբյեկտ Կարդում է ֆայլից և փոխում է օբյեկտի