JSON ಫೈಲ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್
JSON (JavaScript Object Notation) ಎನ್ನುವುದು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಮತ್ತು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಲು ಬಳಸುವ ಒಂದು ಹಗುರವಾದ, ಮಾನವ-ಓದಬಲ್ಲ ಟೆಕ್ಸ್ಟ್ ಫಾರ್ಮ್ಯಾಟ್ ಆಗಿದೆ. ಇದನ್ನು ವೆಬ್ API ಗಳು, ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳು, ಮತ್ತು ಡೇಟಾ ಸೀರಿಯಲೈಸೇಶನ್ಗಾಗಿ ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಪೈಥಾನ್ನ ಅಂತರ್ನಿರ್ಮಿತ json ಮೊಡ್ಯೂಲ್, ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು (ಉದಾ: ಡಿಕ್ಷನರಿ, ಲಿಸ್ಟ್) JSON ಆಗಿ ಪರಿವರ್ತಿಸಲು ಮತ್ತು JSON ಅನ್ನು ಮತ್ತೆ ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ಗಳಾಗಿ ಪರಿವರ್ತಿಸಲು ಸುಲಭವಾದ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ.
- ಸೀರಿಯಲೈಸೇಶನ್ (Serialization) / ಎನ್ಕೋಡಿಂಗ್: ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ -> JSON. (
dump,dumps) - ಡಿಸೀರಿಯಲೈಸೇಶನ್ (Deserialization) / ಡಿಕೋಡಿಂಗ್: JSON -> ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್. (
load,loads)
JSON ಫೈಲ್ಗೆ ಬರೆಯುವುದು (json.dump())
json.dump() ಫಂಕ್ಷನ್, ಒಂದು ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು (ಸಾಮಾನ್ಯವಾಗಿ ಡಿಕ್ಷನರಿ ಅಥವಾ ಲಿಸ್ಟ್) JSON ಫಾರ್ಮ್ಯಾಟ್ನಲ್ಲಿ ಫೈಲ್ಗೆ ಬರೆಯುತ್ತದೆ.
ಉದಾಹರಣೆ:
ಒಂದು ಡಿಕ್ಷನರಿಯನ್ನು person.json ಫೈಲ್ಗೆ ಬರೆಯೋಣ.
import json
# ಪೈಥಾನ್ ಡಿಕ್ಷನರಿ
person_data = {
"name": "ರವಿಕಿರಣ",
"age": 30,
"isStudent": False,
"courses": ["ಪೈಥಾನ್", "ಡೇಟಾ ಸೈನ್ಸ್"],
"city": "ಹಾಸನ"
}
with open('person.json', 'w', encoding='utf-8') as json_file:
# ಡಿಕ್ಷನರಿಯನ್ನು JSON ಫೈಲ್ಗೆ ಬರೆಯುವುದು
json.dump(person_data, json_file, ensure_ascii=False, indent=4)
print("'person.json' ಫೈಲ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ.")
ensure_ascii=False: ಕನ್ನಡದಂತಹ ಯೂನಿಕೋಡ್ ಅಕ್ಷರಗಳನ್ನು ಸರಿಯಾಗಿ ಪ್ರದರ್ಶಿಸಲು ಇದು ಅವಶ್ಯಕ.
- indent=4: JSON ಫೈಲ್ ಅನ್ನು ಓದಬಲ್ಲಂತೆ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲು (pretty-print) ಇಂಡೆಂಟೇಶನ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ.
JSON ಫೈಲ್ನಿಂದ ಓದುವುದು (json.load())
json.load() ಫಂಕ್ಷನ್, ಒಂದು JSON ಫೈಲ್ನಿಂದ ಡೇಟಾವನ್ನು ಓದಿ, ಅದನ್ನು ಅನುಗುಣವಾದ ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ ಆಗಿ (ಸಾಮಾನ್ಯವಾಗಿ ಡಿಕ್ಷನರಿ) ಪರಿವರ್ತಿಸುತ್ತದೆ.
import json
try:
with open('person.json', 'r', encoding='utf-8') as json_file:
# JSON ಫೈಲ್ನಿಂದ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡುವುದು
data = json.load(json_file)
print(type(data)) # <class 'dict'>
print(f"ಹೆಸರು: {data['name']}")
print(f"ಕೋರ್ಸ್ಗಳು: {data['courses'][0]}")
except FileNotFoundError:
print("ದೋಷ: ಫೈಲ್ ಕಂಡುಬಂದಿಲ್ಲ.")
dumps ಮತ್ತು loads
json.dumps()(dump string): ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಫೈಲ್ಗೆ ಬರೆಯುವ ಬದಲು, ಅದನ್ನು JSON ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.json.loads()(load string): JSON ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಪೈಥಾನ್ ಆಬ್ಜೆಕ್ಟ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ.
import json
person_dict = {"name": "ನಿಶ್ಕಲಾ", "age": 28}
# ಡಿಕ್ಷನರಿಯನ್ನು JSON ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಪರಿವರ್ತಿಸುವುದು
json_string = json.dumps(person_dict, ensure_ascii=False)
print(f"JSON ಸ್ಟ್ರಿಂಗ್: {json_string}")
# JSON ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಮತ್ತೆ ಡಿಕ್ಷನರಿಯಾಗಿ ಪರಿವರ್ತಿಸುವುದು
new_dict = json.loads(json_string)
print(f"ಹೊಸ ಡಿಕ್ಷನರಿ: {new_dict}")
json ಮೊಡ್ಯೂಲ್, ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಇತರ ಪ್ರೋಗ್ರಾಮ್ಗಳೊಂದಿಗೆ ಡೇಟಾವನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಲು ಅತ್ಯಂತ ಶಕ್ತಿಯುತ ಮತ್ತು ಅವಶ್ಯಕವಾದ ಸಾಧನವಾಗಿದೆ.