Skip to content

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 ಮೊಡ್ಯೂಲ್, ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಇತರ ಪ್ರೋಗ್ರಾಮ್‌ಗಳೊಂದಿಗೆ ಡೇಟಾವನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಲು ಅತ್ಯಂತ ಶಕ್ತಿಯುತ ಮತ್ತು ಅವಶ್ಯಕವಾದ ಸಾಧನವಾಗಿದೆ.