JSON with Python

JSON = JavaScript Object Notation
JSON জনপ্রিয় ডেটা ফর্ম্যাট যা স্ট্রাকচার্ড ডেটা উপস্থাপনের জন্য ব্যবহৃত হয়। 
API (Application Programming Interface) 
এ Data transfer/store/respresent করার জন্য JSON খুবই জনপ্রিয়। 
এই সেশনে আমরা দেখবো , কিভাবে পাইথন দিয়ে JSON হ্যান্ডেল করতে পারি পারি ।

JSON to Python Dictionary

পাইথনে আমরা json data কে dictionary তে পরিবর্তন করার  জন্য  json module এ loads ফাংশন ব্যবহার করে থাকি । নিচে একটা উদাহরণ দেখা যাক –

import json

json_data = '{"language" : "python","organization" : "vivasoft"}'

convert_into_dictionary = json.loads(json_data)

print(convert_into_dictionary)

# Output
# {"language": "python", "organization": "vivasoft"}

 

Python Dictionary to JSON

পাইথনে আমরা dictionary কে json data তে পরিবর্তন করার জন্য json module এ dumps ফাংশন ব্যবহার করে থাকি । নিচে একটা উদাহরণ দেখা যাক –

import json

some_data = {
  "name" : "vivasoft",
  "is_active" : True,
  "branches" : None,
  "people" : 100
}

json_data = json.dumps(some_data)

print(json_data)

# Output
# {"name": "vivasoft", "is_active": true, "branches": null, "people": 100}

 

 কিছু ব্যাপার লক্ষ্যণীয়
JSON Syntax Python Syntax
null
None
true
True
false
False

 

 

উদাহরন

Example-1

ডিকশনারি থেকে জেসন

import json

# dictionary
person ={
  "name":"Esre",
  "age": 40,
  "salary": 89000
}
 
# conversion to JSON done by dumps() function
json_data = json.dumps(person)
 
# printing the output
print(json_data)

Example -2

জেসন স্ট্রিং থেকে ডিকশনারি

import json
some_json_string = """
{
    "programmar": {
        "name": "Shafiul Tareq",
        "company": "Vivasoft Ltd",
        "alma-matter": [
            {
                "university": "SUST",
                "location": "Sylhet"
            }
        ]
    }
}
"""
data = json.loads(some_json_string)
print(data["programmar"]["name"]) # Shafiul Tareq

Example -3

ডিকশনারি জেসন ফাইল এ লিখা

import json
data = {
    "Language": {
        "name": "Bangla",
        "countries": ["Bangladesh", "India"]
    }
}
with open("api_data.json", "w") as write_file:
    json.dump(data, write_file)

Example-4

জেসন ফাইল থেকে ডাটা এনে ডিকশনারি তে বানানো [ ফাইল হ্যান্ডলিং সম্পর্কে পরবর্তীতে আলোচনা করা হবে ]

import json

with open("api_data.json", "r") as read_file:
    data = json.load(read_file)

print(data)

Example-5

এপিআই কল দেয়া

import requests
import json

req = requests.get('https://jsonplaceholder.typicode.com/todos/1')
data = json.loads(req.content)
print(type(data)) # <class 'dict'>

 

এসো নিজে করি
অনুশীলনঃ
  • একটি json data কে dictionary তে পরিণত করুন
  • এই dictionary তে পছন্দমত দুইটি key add করে , সেটি কে JSON এ convert করুন।
  • ” https://jsonplaceholder.typicode.com/posts ” এপিআই কল করুন , এবং কনটেন্ট আনুন 
  • উপরের এপিআই টি কল দেয়ার পর কন্টেন্ট কোনো জেসন ফাইলে লিখুন পাইথন দিয়ে
  • উপরের এপিআই টি কল দেয়ার পর শুধু “body” নামের Key গুলি প্রিন্ট করুন 
ইন্টারভিউ প্রশ্নোত্তর
  •  json.loads() এবং json.load() এর মধ্যে পার্থক্য কি ?
  •  JSON কি ?
  •  JSON এবং python dictionary এর মধ্যে পার্থক্য কি ?
  • JSON কোথায় কাজে লাগে ?
  • json.dump() এবং json.dumps() এর মধ্যে পার্থক্য কি ?