Python JSON

Python இல் JSON தரவைக் கையாள்வதைக் கற்றுக்கொள்ளுங்கள்

Python JSON

JSON என்பது தரவைச் சேமித்து பரிமாறுவதற்கான ஒரு தொடரியல் ஆகும்.

JSON என்பது உரை, JavaScript பொருள் குறியீட்டுடன் எழுதப்பட்டது.

"name": "John",
"age": 30,
"city": "New York"

📦 JSON in Python:

Python இல் json என்று ஒரு உள்ளமைக்கப்பட்ட தொகுப்பு உள்ளது, இது JSON தரவுடன் பணியாற்ற பயன்படுத்தப்படலாம்.

JSON தொகுதி

Example

json தொகுதியை இறக்குமதி செய்யவும்:

import json

JSON ஐ பாகுபடுத்துதல் - JSON இலிருந்து Python க்கு மாற்றவும்

உங்களிடம் ஒரு JSON சரம் இருந்தால், json.loads() முறையைப் பயன்படுத்தி அதைப் பாகுபடுத்தலாம்.

முடிவு ஒரு Python அகராதியாக இருக்கும்.

json.loads()
JSON சரத்தை Python பொருளாக மாற்றுகிறது

Example

JSON இலிருந்து Python க்கு மாற்றவும்:

import json

# some JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'

# parse x:
y = json.loads(x)

# the result is a Python dictionary:
print(y["age"])
Output: 30

🔄 JSON → Python:

json.loads() JSON சரத்தை எடுத்து அதை Python பொருளாக மாற்றுகிறது. "loads" என்பது "load string" என்பதன் சுருக்கம்.

Python இலிருந்து JSON க்கு மாற்றவும்

உங்களிடம் ஒரு Python பொருள் இருந்தால், json.dumps() முறையைப் பயன்படுத்தி அதை ஒரு JSON சரமாக மாற்றலாம்.

json.dumps()
Python பொருளை JSON சரமாக மாற்றுகிறது

Example

Python இலிருந்து JSON க்கு மாற்றவும்:

import json

# a Python object (dict):
x = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# convert into JSON:
y = json.dumps(x)

# the result is a JSON string:
print(y)
Output: {"name": "John", "age": 30, "city": "New York"}

🔄 Python → JSON:

json.dumps() Python பொருளை எடுத்து அதை JSON சரமாக மாற்றுகிறது. "dumps" என்பது "dump string" என்பதன் சுருக்கம்.

மாற்றக்கூடிய Python வகைகள்

பின்வரும் வகையான Python பொருள்களை JSON சரங்களாக மாற்றலாம்:

import json

print(json.dumps({"name": "John", "age": 30}))  # dict
print(json.dumps(["apple", "bananas"]))         # list
print(json.dumps(("apple", "bananas")))         # tuple
print(json.dumps("hello"))                      # string
print(json.dumps(42))                           # int
print(json.dumps(31.76))                        # float
print(json.dumps(True))                         # True
print(json.dumps(False))                        # False
print(json.dumps(None))                         # None

Python முதல் JSON மாற்று அட்டவணை

நீங்கள் Python இலிருந்து JSON க்கு மாற்றும்போது, Python பொருள்கள் JSON (JavaScript) சமமானவற்றாக மாற்றப்படுகின்றன:

Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null

Example

அனைத்து சட்டப்பூர்வ தரவு வகைகளையும் கொண்ட Python பொருளை மாற்றவும்:

import json

x = {
    "name": "John",
    "age": 30,
    "married": True,
    "divorced": False,
    "children": ("Ann","Billy"),
    "pets": None,
    "cars": [
        {"model": "BMW 230", "mpg": 27.5},
        {"model": "Ford Edge", "mpg": 24.1}
    ]
}

print(json.dumps(x))
Output: {"name": "John", "age": 30, "married": true, "divorced": false, "children": ["Ann", "Billy"], "pets": null, "cars": [{"model": "BMW 230", "mpg": 27.5}, {"model": "Ford Edge", "mpg": 24.1}]}

முடிவை வடிவமைத்தல்

மேலே உள்ள எடுத்துக்காட்டு ஒரு JSON சரத்தை அச்சிடுகிறது, ஆனால் அது மிகவும் எளிதாக வாசிக்கக்கூடியதாக இல்லை, உள்தள்ளல்கள் மற்றும் வரி இடைவெளிகள் இல்லாமல்.

json.dumps() முறை முடிவை எளிதாக வாசிக்க அளவுருக்களைக் கொண்டுள்ளது:

Example

உள்தள்ளல்களின் எண்ணிக்கையை வரையறுக்க indent அளவுருவைப் பயன்படுத்தவும்:

import json

x = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

print(json.dumps(x, indent=4))
Output: { "name": "John", "age": 30, "city": "New York" }

நீங்கள் பிரிப்பான்களையும் வரையறுக்கலாம், இயல்புநிலை மதிப்பு (", ", ": "), அதாவது ஒவ்வொரு பொருளையும் பிரிக்க கமாவும் இடைவெளியும் பயன்படுத்துதல், மற்றும் விசைகளை மதிப்புகளிலிருந்து பிரிக்க முழுக்குறியும் இடைவெளியும் பயன்படுத்துதல்:

print(json.dumps(x, indent=4, separators=(". ", " = ")))
Output: { "name" = "John". "age" = 30. "city" = "New York" }

முடிவை வரிசைப்படுத்துதல்

json.dumps() முறை முடிவில் விசைகளை வரிசைப்படுத்த அளவுருக்களைக் கொண்டுள்ளது:

Example

முடிவு வரிசைப்படுத்தப்பட வேண்டுமா இல்லையா என்பதைக் குறிப்பிட sort_keys அளவுருவைப் பயன்படுத்தவும்:

import json

x = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

print(json.dumps(x, indent=4, sort_keys=True))
Output: { "age": 30, "city": "New York", "name": "John" }

📝 json.dumps() அளவுருக்கள்:

indent: உள்தள்ளல்களின் எண்ணிக்கை (வாசிப்பை எளிதாக்குகிறது)
separators: பொருள்கள் மற்றும் விசை-மதிப்பு ஜோடிகளை பிரிக்க பயன்படுத்தப்படும் சரங்கள்
sort_keys: விசைகளை அகர வரிசைப்படி வரிசைப்படுத்துகிறது (True/False)

பயிற்சிகள் மூலம் கற்றல்

நீங்கள் json.loads() முறையுடன் குறியீட்டைப் பாகுபடுத்தும்போது, முடிவு ஒரு குறிப்பிட்ட Python தரவு வகையாக திருப்பி அனுப்பப்படுகிறது, எது?

json.loads() முடிவு எந்த Python தரவு வகையாக திருப்பி அனுப்பப்படுகிறது?

list
✗ தவறு! JSON வரிசைகள் Python பட்டியல்களாக மாற்றப்படுகின்றன, ஆனால் JSON பொருள்கள் அகராதிகளாக மாற்றப்படுகின்றன
set
✗ தவறு! JSON இல் set க்கு நேரடி சமமானது இல்லை
tuple
✗ தவறு! JSON வரிசைகள் Python பட்டியல்களாக மாற்றப்படுகின்றன, டுபில்கள் அல்ல
dictionary
✓ சரி! json.loads() ஒரு JSON பொருளை Python அகராதியாக மாற்றுகிறது. JSON வரிசைகள் பட்டியல்களாகவும், JSON எண்கள் Python எண்களாகவும், JSON சரங்கள் Python சரங்களாகவும் மாற்றப்படுகின்றன.

💡 விளக்கம்:

json.loads() JSON சரத்தை Python பொருளாக மாற்றுகிறது:

  • JSON Object → Python dict
  • JSON Array → Python list
  • JSON String → Python str
  • JSON Number → Python int அல்லது float
  • JSON true → Python True
  • JSON false → Python False
  • JSON null → Python None

பொதுவாக, JSON தரவு ஒரு அகராதியாக (dict) தொடங்கும், ஏனெனில் JSON பொருள்கள் அகராதிகளாக மாற்றப்படுகின்றன.