json ಮೊಡ್ಯೂಲ್
JSON (JavaScript Object Notation) ಎನ್ನುವುದು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಮತ್ತು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಲು ಬಳಸುವ ಒಂದು ಹಗುರವಾದ, ಮಾನವ-ಓದಬಲ್ಲ ಟೆಕ್ಸ್ಟ್ ಫಾರ್ಮ್ಯಾಟ್ ಆಗಿದೆ. ಪೈಥಾನ್ನ ಅಂತರ್ನಿರ್ಮಿತ json ಮೊಡ್ಯೂಲ್, ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು (ಡಿಕ್ಷನರಿ, ಲಿಸ್ಟ್) JSON ಆಗಿ ಮತ್ತು JSON ಅನ್ನು ಮತ್ತೆ ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ಗಳಾಗಿ ಪರಿವರ್ತಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಇದು ವೆಬ್ API ಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಮತ್ತು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಅತ್ಯಗತ್ಯ.
ಪೈಥಾನ್ನಿಂದ JSON ಗೆ ಪರಿವರ್ತನೆ (Serialization / Encoding)
json.dumps(obj): ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು JSON ಫಾರ್ಮ್ಯಾಟ್ನ ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.json.dump(obj, file): ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು JSON ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ ನೇರವಾಗಿ ಫೈಲ್ಗೆ ಬರೆಯುತ್ತದೆ.
import json
# ಪೈಥಾನ್ ಡಿಕ್ಷನರಿ
person_data = {
"name": "ರವಿಕಿರಣ",
"age": 30,
"city": "ಹಾಸನ",
"isStudent": False
}
# 1. json.dumps() - ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸುವುದು
json_string = json.dumps(person_data, ensure_ascii=False, indent=4)
print("--- JSON ಸ್ಟ್ರಿಂಗ್ ---")
print(json_string)
# 2. json.dump() - ಫೈಲ್ಗೆ ಬರೆಯುವುದು
with open("person.json", "w", encoding="utf-8") as f:
json.dump(person_data, f, ensure_ascii=False, indent=4)
print("\n'person.json' ಫೈಲ್ಗೆ ಬರೆಯಲಾಗಿದೆ.")
ensure_ascii=False: ಕನ್ನಡದಂತಹ ಯೂನಿಕೋಡ್ ಅಕ್ಷರಗಳನ್ನು ಸರಿಯಾಗಿ ಪ್ರದರ್ಶಿಸಲು.
- indent=4: JSON ಅನ್ನು ಓದಬಲ್ಲಂತೆ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು.
JSON ನಿಂದ ಪೈಥಾನ್ಗೆ ಪರಿವರ್ತನೆ (Deserialization / Decoding)
json.loads(string): JSON ಫಾರ್ಮ್ಯಾಟ್ನ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ ಆಗಿ (ಸಾಮಾನ್ಯವಾಗಿ ಡಿಕ್ಷನರಿ) ಪರಿವರ್ತಿಸುತ್ತದೆ.json.load(file): JSON ಫೈಲ್ನಿಂದ ಡೇಟಾವನ್ನು ಓದಿ, ಅದನ್ನು ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
import json
# 1. json.loads() - ಸ್ಟ್ರಿಂಗ್ನಿಂದ ಲೋಡ್ ಮಾಡುವುದು
json_str = '{"name": "ನಿಶ್ಕಲಾ", "city": "ಚನ್ನರಾಯಪಟ್ಟಣ"}'
person_dict = json.loads(json_str)
print(f"\nಸ್ಟ್ರಿಂಗ್ನಿಂದ ಲೋಡ್ ಮಾಡಿದ ಡಿಕ್ಷನರಿ: {person_dict}")
# 2. json.load() - ಫೈಲ್ನಿಂದ ಲೋಡ್ ಮಾಡುವುದು
try:
with open("person.json", "r", encoding="utf-8") as f:
data_from_file = json.load(f)
print(f"\nಫೈಲ್ನಿಂದ ಲೋಡ್ ಮಾಡಿದ ಡೇಟಾ: {data_from_file}")
except FileNotFoundError:
print("ದೋಷ: 'person.json' ಫೈಲ್ ಕಂಡುಬಂದಿಲ್ಲ.")
ಪೈಥಾನ್-JSON ಡೇಟಾ ಪ್ರಕಾರದ ಹೋಲಿಕೆ
| ಪೈಥಾನ್ | JSON |
|---|---|
dict |
object |
list, tuple |
array |
str |
string |
int, float |
number |
True |
true |
False |
false |
None |
null |
json ಮೊಡ್ಯೂಲ್, ಆಧುನಿಕ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಡೇಟಾ ವಿನಿಮಯದಲ್ಲಿ ಪ್ರಮುಖ ಪಾತ್ರ ವಹಿಸುತ್ತದೆ.