convert python to json
Tags: python, tutorial, devops
Published: 2020-12-27 22:02:37

## How to convert python to json 
 In one of my [previous](https://dev.to/maxwizardth/convert-json-to-python-1bh3) articles I discussed how to convert JSON to python data. But what if we have a python data to be converted to json so that we share the data to third party it is very simple logic.
 Convert from Python to JSON
If you have a Python object o, you can convert it into a JSON string by using the `json.dumps()` method.

Example
```python
#Convert from Python to JSON:
import json # you must import this
# a Python object (dict):
Biodata = {
  "name": "maxwizard",
  "age": 22,
  "country": "Nigeria",
  "married": False,
  "divorced": False,
  "children":None
}

# convert into JSON:
jsonData= json.dumps(Biodata)
# the result is a JSON string:
print(jsonData)
```
OUTPUT:
```
{"name": "maxwizard", "age": 22, "country": "Nigeria", "married": false, "divorced": false, "children": null}
```
Notice: `false`,`none` and `true` start with capital letter in python while small letter in json. Also `None` become `null` in json. 
so when you convert from Python to JSON, Python objects are converted into the JSON (JavaScript) equivalent:

#### Python--> JSON 	
#### dict------> Object	
#### list------> Array	
#### tuple-----> Array 	
#### str-------> String	
#### int-------> Number	
#### float-----> Number	
#### True------> true	
#### False-----> false	
#### None -----> null	
 
Let's try another technical example 
Example
```python
import json
#python data
biodata = {
  "name": "Abdullah",
  "age": 22,
  "married": True,
  "divorced": False,
  "religon":"muslim",
  "children": ("Ahmod","joy"),
  "pets": None,
  "cars": [
    {"model": "Camry 303", "mpg": 27.5},
    {"model": "Ford Edge", "mpg": 24.1}
  ]
}
jsondata=json.dumps(biodata)
print(jsondata)
```
OUTPUT:
```
{"name": "Abdullah", "age": 22, "married": true, "divorced": false, "religon": "muslim", "children": ["Ahmod", "joy"], "pets": null, "cars": [{"model": "Camry 303", "mpg": 27.5}, {"model": "Ford Edge", "mpg": 24.1}]}
```

if you look at the output of the program above. there is a json string but it is not very easy to read, with no indentations and line breaks so that will leads us to something called Formatting.
#### HOW TO FORMAT THE RESULT
The json.dumps() method has parameters to make it easier to read the result: so we make use of  the indent parameter to define the numbers of indents:
#### Example
```python
#python data
biodata = {
  "name": "Abdullah",
  "age": 22,
  "married": True,
  "divorced": False,
  "religon":"muslim",
  "children": ("Ahmod","joy"),
  "pets": None,
  "cars": [
    {"model": "Camry 303", "mpg": 27.5},
    {"model": "Ford Edge", "mpg": 24.1}
  ]
}
jsonData=json.dumps(biodata, indent=4)
print(jsonData)
```
OUTPUT:
```
{
    "name": "Abdullah",
    "age": 22,
    "married": true,
    "divorced": false,
    "religon": "muslim",
    "children": [
        "Ahmod",
        "joy"
    ],
    "pets": null,
    "cars": [
        {
            "model": "Camry 303",
            "mpg": 27.5
        },
        {
            "model": "Ford Edge",
            "mpg": 24.1
        }
    ]
}
```
wow did you see how it looks? But that is not all
You can also add the separators, default value to be (", ", ": "), which means using a comma and a space to separate each object, and a colon and a space to separate keys from values:
#### Example
```python
#python data
biodata = {
  "name": "Abdullah",
  "age": 22,
  "married": True,
  "divorced": False,
  "religon":"muslim",
  "children": ("Ahmod","joy"),
  "pets": None,
  "cars": [
    {"model": "Camry 303", "mpg": 27.5},
    {"model": "Ford Edge", "mpg": 24.1}
  ]
}
jsonData=json.dumps(biodata, indent=4,separators=(". ", " = "))
print(jsonData)
```
OUTPUT:
```
{
    "name" = "Abdullah". 
    "age" = 22. 
    "married" = true. 
    "divorced" = false. 
    "religon" = "muslim". 
    "children" = [
        "Ahmod". 
        "joy"
    ]. 
    "pets" = null. 
    "cars" = [
        {
            "model" = "Camry 303". 
            "mpg" = 27.5
        }. 
        {
            "model" = "Ford Edge". 
            "mpg" = 24.1
        }
    ]
}
```
you can see that we have able to put assign value for each of the variable just like javascript usully look like. Let me tell you this, you can even sort all the data so that they are in order by adding  sort_keys parameter. 
#### Example
```python
#python data
biodata = {
  "name": "Abdullah",
  "age": 22,
  "married": True,
  "divorced": False,
  "religon":"muslim",
  "children": ("Ahmod","joy"),
  "pets": None,
  "cars": [
    {"model": "Camry 303", "mpg": 27.5},
    {"model": "Ford Edge", "mpg": 24.1}
  ]
}
jsonData=json.dumps(biodata, indent=4,separators=(". ", " = "),sort_keys=True)
print(jsonData)
```
OUTPUT:
```
{
    "age" = 22. 
    "cars" = [
        {
            "model" = "Camry 303". 
            "mpg" = 27.5
        }. 
        {
            "model" = "Ford Edge". 
            "mpg" = 24.1
        }
    ]. 
    "children" = [
        "Ahmod". 
        "joy"
    ]. 
    "divorced" = false. 
    "married" = true. 
    "name" = "Abdullah". 
    "pets" = null. 
    "religon" = "muslim"
}
```
Did you see the result? it even make sense enough! if you find this article helpful then follow me and like. you can click [here](https://dev.to/maxwizardth/convert-json-to-python-1bh3) to read how to convert json to python.