Vivasoft-logo

JSON with Python

JSON = Java Script 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 ফাংশন ব্যবহার করে থাকি । নিচে একটা উদাহরণ দেখা যাক –
```python
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"]
  }
}
withopen("api_data.json", "w") as write_file:

json.dump(data, write_file)
 

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

import json

withopen("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))# 
 

এসো নিজে করি

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

ইন্টারভিউ প্রশ্নোত্তর

  • json.loads() এবং json.load() এর মধ্যে পার্থক্য কি ?
  • JSON কি ?
  • JSON এবং python dictionary এর মধ্যে পার্থক্য কি ?
  • JSON কোথায় কাজে লাগে ?
  • json.dump() এবং json.dumps() এর মধ্যে পার্থক্য কি ?