This Python JSON exercise helps Python developers to practice JSON creation, manipulation, and parsing. As you know, JSON (an acronym for JavaScript Object Notation) is a data-interchange format and is commonly used for client-server communication.
Read Python JSON tutorials for any help.
This exercise includes the following: –
- It has 9 questions and solutions provided for each question.
- Each question includes a specific JSON concept you need to learn. When you complete each question, you get more familiar with JSON encoding and decoding in Python.
Use Online Code Editor to solve exercise questions.
Table of contents
- Exercise 1: Convert the following dictionary into JSON format
- Exercise 2: Access the value of key2 from the following JSON
- Exercise 3: PrettyPrint following JSON data
- Exercise 4: Sort JSON keys in and write them into a file
- Exercise 5: Access the nested key ‘salary’ from the following JSON
- Exercise 6: Convert the following Vehicle Object into JSON
- Exercise 7: Convert the following JSON into Vehicle Object
- Exercise 8: Check whether following json is valid or invalid. If Invalid correct it
- Exercise 9: Parse the following JSON to get all the values of a key ‘name’ within an array
Exercise 1: Convert the following dictionary into JSON format
data = {"key1" : "value1", "key2" : "value2"}
Code language: Python (python)
Expected Output:
data = {"key1" : "value1", "key2" : "value2"}
Show Solution
Exercise 2: Access the value of key2 from the following JSON
import json
sampleJson = """{"key1": "value1", "key2": "value2"}"""
# write code to print the value of key2
Code language: Python (python)
Expected Output:
value2
Show Solution
Exercise 3: PrettyPrint following JSON data
PrettyPrint following JSON data with indent level 2 and key-value separators should be (",", " = ")
.
sampleJson = {"key1": "value1", "key2": "value2"}
Code language: Python (python)
Expected Output:
{ "key1" = "value2", "key2" = "value2", "key3" = "value3" }
Show Solution
Exercise 4: Sort JSON keys in and write them into a file
Sort following JSON data alphabetical order of keys
sampleJson = {"id" : 1, "name" : "value2", "age" : 29}
Code language: Python (python)
Expected Output:
{ "age": 29, "id": 1, "name": "value2" }
Show Solution
Exercise 5: Access the nested key ‘salary’ from the following JSON
import json
sampleJson = """{
"company":{
"employee":{
"name":"emma",
"payble":{
"salary":7000,
"bonus":800
}
}
}
}"""
# write code to print the value of salary
Code language: Python (python)
Expected Output:
7000
Show Solution
Exercise 6: Convert the following Vehicle Object into JSON
import json
class Vehicle:
def __init__(self, name, engine, price):
self.name = name
self.engine = engine
self.price = price
vehicle = Vehicle("Toyota Rav4", "2.5L", 32000)
# Convert it into JSON format
Code language: Python (python)
Expected Output:
{ "name": "Toyota Rav4", "engine": "2.5L", "price": 32000 }
Show Solution
Exercise 7: Convert the following JSON into Vehicle Object
{ "name": "Toyota Rav4", "engine": "2.5L", "price": 32000 }
For example, we should be able to access Vehicle Object using the dot operator like this.
vehicleObj.name, vehicleObj.engine, vehicleObj.price
Show Solution
Exercise 8: Check whether following json is valid or invalid. If Invalid correct it
{ "company":{ "employee":{ "name":"emma", "payble":{ "salary":7000 "bonus":800 } } } }
Show Solution
Solution 1:
Python provides The json.tool
module to validate JSON objects from the command line. Run the following command.
Command: echo "JSON DATA" | python -m json.tool
Output:
Expecting ',' delimiter: line 1 column 68 (char 67)
Just add ','
after "salary":7000
to solve the error.
Solution 2
Exercise 9: Parse the following JSON to get all the values of a key ‘name’ within an array
[ { "id":1, "name":"name1", "color":[ "red", "green" ] }, { "id":2, "name":"name2", "color":[ "pink", "yellow" ] } ]
Expected Output:
["name1", "name2"]
Hello
I am very happy that I came across this interesting and useful website. It has very good exercises and I hope that this website will improve day by day and provide us with more exercises.
For the last exercise, since I was not yet familiar with the try expect method, that’s why I wrote another answer model for this exercise, I will share it with you.
import json
json_data = “””[
{
“id”:1,
“name”:”name1″,
“color”:[
“red”,
“green”
]
},
{
“id”:2,
“name”:”name2″,
“color”:[
“pink”,
“yellow”
]
}
]”””
json_data_list = json.loads(json_data)
json_data_list_name = []
for item in json_data_list:
for key, value in item.items():
if key == “name”:
json_data_list_name.append(value)
json_data_list_name_string = json.dumps(json_data_list_name)
print(json_data_list_name_string)
import json
json_data = “””[
{
“id”:1,
“name”:”name1″,
“color”:[
“red”,
“green”
]
},
{
“id”:2,
“name”:”name2″,
“color”:[
“pink”,
“yellow”
]
}
]”””
json_data_list = json.loads(json_data)
json_data_list_name = []
for item in json_data_list:
for key, value in item.items():
if key == “name”:
json_data_list_name.append(value)
json_data_list_name_string = json.dumps(json_data_list_name)
print(json_data_list_name_string)
Very useful. Thanks
I have a dataframe that is coming read_csv having date columns with different date formats (accepted and confirmed by business ) like below.
the issue is we are getting dynamic format in columns. user entered/updated any accepted format in any column.
Note: Column can have only one format
accepted date formats – DD/MM/YY, mm-dd-yyyy and MMM-yy
day1
id,date1,date2,date3
1,25/10/21,10-25-2021,Jun-21
2,25/10/21,10-25-2021,Feb-20
day2
id,date1,date2,date3
1,25/10/21,Jun-21,10-25-2021
2,25/10/21,Feb-20,10-25-2021
Now I want to create a function/method to convert all the above date to YYYY-MM-DD format. the rule is if any column has MMM-YY then it should be the last day of the month
output
day1
id,date1,date2,date3
1,2021-10-25,2021-10-25,2021-10-31
day2
id,date1,date2,date3
1,2021-10-25,2021-10-31,2021-10-25
2,2021-10-25,2020-02-29,202110-25
Can you please help me? I have sent the mail last week. it would be a great help if you help me with this
Exercise 6: Convert the following Vehicle Object into JSON
This can be done also like this:
Just solved the last exercise very simply with pandas. check it out
#How to get expected output [‘name1’, ‘name2’]?
Hi I have an issue with Question 8
it shows an invalid syntax for “bonus”:800
Hi Vishal,
how to convert json data to CSV file
You can use pandas. so I will add one more article to cover this