Just use normal dictionaries in python when constructing the JSON then use the JSON package to export to JSON files.

You can construct them like this (long way):

a_dict = {}
a_dict['id'] = {}
a_dict['id']['a'] = {'properties' : {}}
a_dict['id']['a']['properties']['x'] = '9'
a_dict['id']['a']['properties']['y'] = '3'
a_dict['id']['a']['properties']['z'] = '17'
a_dict['id']['b'] = {'properties' : {}}
a_dict['id']['b']['properties']['x'] = '3'
a_dict['id']['b']['properties']['y'] = '2'
a_dict['id']['b']['properties']['z'] = '1'

or you can use a function:

def dict_construct(id, x, y, z):
 new_dic = {id : {'properties': {} } }
 values = [{'x': x}, {'y': y}, {'z':z}]
 for val in values:
    new_dic[id]['properties'].update(val)
 return new_dic

return_values = [('a', '9', '3', '17'), ('b', '3', '2', '1')]

a_dict = {'id': {} }
for xx in return_values:
    add_dict = dict_construct(*xx)
    a_dict['id'].update(add_dict)

print(a_dict)

both give you as a dictionary:

{'id': {'a': {'properties': {'x': '9', 'y': '3', 'z': '17'}}, 'b': {'properties': {'x': '3', 'y': '2', 'z': '1'}}}}

using json.dump:

with open('data.json', 'w') as outfile:
    json.dump(a_dict, outfile)

you get as a file:

{
  "id": {
    "a": {
      "properties": {
        "x": "9",
        "y": "3",
        "z": "17"
      }
    },
    "b": {
      "properties": {
        "x": "3",
        "y": "2",
        "z": "1"
      }
    }
  }
}
Answer from Anna Nevison on Stack Overflow
🌐
W3Schools
w3schools.com › python › python_json.asp
Python JSON
If you have a Python object, you can convert it into a JSON string by using the json.dumps() method.
🌐
W3Schools
w3schools.io › file › json-python-read-write
How to read and write JSOn file in Python - w3schools
December 31, 2023 - It writes the same format into ... python2 and python3 Here is an example · import json employee = [ { "id": 1, "name": "John", }, { "id": 2, "name": "Eric", }, ] with open("test.json", "w") as filehandler: json.dump(employee, ...
🌐
Reddit
reddit.com › r/learnpython › how would you use python to create json files?
r/learnpython on Reddit: How would you use python to create JSON files?
March 7, 2020 -

Howdy!

I recently took a coding test for an internship program, I was quickly put in check by the coding test. I am only about 50 hours into coding, but I had higher hopes for myself then how I performed.

The questions that tripped me up were how to take input in the form of a Dict [] and create a JSON object out of it. I was allowed to read documentation during the test and found the JSON library with json.dumps, but couldn't figure out how to use it in the allotted time. =^(

In the spirit of improvement would you fine folks of r/learnpython be willing to show how you would create a JSON object with python, and outline some reasons as to why you would want to create a JSON object in the first place? I'm hoping to learn something new, but I also hope that there are a few on this sub who can come across the post and learn something new too.

On the bright side, I solved FizzBuzz no problem. That problem gave me anxiety when I first started coding, and now I can solve it expertly. Little wins!

Thank you! =^)

Top answer
1 of 4
5
I read two concrete questions from your post: why you would want to create a JSON object Imagine you want multiple software systems to communicate. Let's say we have three systems, one written in Python, one client written in JavaScript and one more backend system in Java. You can't just send Python objects over a network and expect the systems written in JS or Java to understand them. Same thing the other way around. In the end it's just electrical signals and both the sender and receiver need a common understanding of how to interpret those signals, otherwise they will just be gibberish. That's where data formats like JSON come into play: It's a simple and standardized data format that can be handled in any modern programming language. Now your Python code can serialize its internal representation of a piece of data into this format and send it over a network or store it on some disk, where some other system will eventually pick it up, deserialize it into its own internal representation and process it. show how you would create a JSON object with python import json data = {"year": 2020, "sales": 12345678, "currency": "€"} # creating a JSON string json_string = json.dumps(data) # storing it in a file with open("data.json", "w") as json_file: json.dump(data, json_file)
2 of 4
3
If you know about the JSON library, there's not much more to tell. RealPython have excellent tutorials and information. https://realpython.com/python-json/ You can find a lot more by searching "python json tutorial".
🌐
Real Python
realpython.com › python-json
Working With JSON Data in Python – Real Python
July 21, 2026 - With pretty_frieda.json as the value of the outfile option, you write the output into the JSON file instead of showing the content in the terminal. If the file doesn’t exist yet, then Python creates the file on the way.
Top answer
1 of 3
7

Just use normal dictionaries in python when constructing the JSON then use the JSON package to export to JSON files.

You can construct them like this (long way):

a_dict = {}
a_dict['id'] = {}
a_dict['id']['a'] = {'properties' : {}}
a_dict['id']['a']['properties']['x'] = '9'
a_dict['id']['a']['properties']['y'] = '3'
a_dict['id']['a']['properties']['z'] = '17'
a_dict['id']['b'] = {'properties' : {}}
a_dict['id']['b']['properties']['x'] = '3'
a_dict['id']['b']['properties']['y'] = '2'
a_dict['id']['b']['properties']['z'] = '1'

or you can use a function:

def dict_construct(id, x, y, z):
 new_dic = {id : {'properties': {} } }
 values = [{'x': x}, {'y': y}, {'z':z}]
 for val in values:
    new_dic[id]['properties'].update(val)
 return new_dic

return_values = [('a', '9', '3', '17'), ('b', '3', '2', '1')]

a_dict = {'id': {} }
for xx in return_values:
    add_dict = dict_construct(*xx)
    a_dict['id'].update(add_dict)

print(a_dict)

both give you as a dictionary:

{'id': {'a': {'properties': {'x': '9', 'y': '3', 'z': '17'}}, 'b': {'properties': {'x': '3', 'y': '2', 'z': '1'}}}}

using json.dump:

with open('data.json', 'w') as outfile:
    json.dump(a_dict, outfile)

you get as a file:

{
  "id": {
    "a": {
      "properties": {
        "x": "9",
        "y": "3",
        "z": "17"
      }
    },
    "b": {
      "properties": {
        "x": "3",
        "y": "2",
        "z": "1"
      }
    }
  }
}
2 of 3
3

One way will be to create whole dict at once:

data = {} 
for i in range(1, 5):
    name = getname(i)
    x = getx(i)
    y = gety(i)
    z = getz(i)
    data[name] = {
        "x": x,
        "y": y,
        "z": z
      }

And then save

 with open('data.json', 'w') as f:
    json.dump(data, f, indent=4)
🌐
Python Examples
pythonexamples.org › python-write-json-to-file
Python Write JSON to File
Prepare JSON string by converting a Python Object to JSON string using json.dumps() function. Create a JSON file using open(filename, 'w') function. We are opening file in write mode. Use file.write(text) to write JSON content prepared in step 1 to the file created in step 2. Close the JSON file.
🌐
Srinimf
srinimf.com › 2021 › 11 › 12 › how-to-create-json-file-in-python
How to Create a JSON File in Python: Step-by-Step Guide for Beginners – Srinimf
October 12, 2025 - Data Structure The data object is a Python dictionary containing key/value pairs. Nested dictionaries are allowed, just like JSON objects. Opening the File with open('data.json', 'w', encoding='utf-8') as f:
Find elsewhere
🌐
Python Examples
pythonexamples.org › python-create-json
Python Create JSON
Learn how to create JSON strings from Python dictionaries, lists, and tuples. This tutorial covers JSON creation techniques using the json.dumps() function with practical examples.
🌐
CodeRivers
coderivers.org › blog › creating-json-file-python
Creating JSON Files in Python: A Comprehensive Guide - CodeRivers
February 22, 2026 - In this code, we open a file named data.json in write mode ('w'). Then we write the JSON string to the file. You can also use json.dump() to directly write Python data to a JSON file without first converting it to a string.
🌐
CodeRivers
coderivers.org › blog › python-create-json-file
Python: Creating JSON Files - CodeRivers
February 22, 2026 - 3. Inside the with block, we write the JSON string to the file. JSON supports a limited set of data types. When creating JSON data in Python, you need to ensure that the data types are compatible. For example, Python's datetime objects are not directly serializable to JSON.
🌐
YouTube
youtube.com › watch
How to Create a JSON file in Python (Python and JSON Tutorial 03) - YouTube
In this video, we work with the same data as before and we explore how to create a json file. This is an easy tutorial.If you enjoy this video, please subscr...
Published: April 7, 2020
🌐
GeeksforGeeks
geeksforgeeks.org › python › build-a-json-object-in-python
Build a Json Object in Python - GeeksforGeeks
July 23, 2025 - import json def encoder(obj): if isinstance(obj, set): return list(obj) return obj gfg = [('name', 'Hustlers'), ('age', 19), ('is_student', True)] json_data = dict(gfg) json_string = json.dumps(json_data, default=encoder) print(type(json_string)) ...
🌐
W3Schools
w3schools.com › python › gloss_python_convert_into_JSON.asp
Python Convert From Python to JSON
Python Examples Python Compiler ... ... If you have a Python object, you can convert it into a JSON string by using the json.dumps() method....
🌐
w3resource
w3resource.com › python-exercises › python-json-exercise-6.php
Python JSON: Create a new JSON file from an existing JSON file - w3resource
June 28, 2025 - Write a Python program to merge two JSON files into one and output the merged result as a new JSON file.
🌐
CodeSignal
codesignal.com › learn › courses › hierarchical-and-structured-data-formats › lessons › constructing-objects-and-writing-to-json-files
Constructing Objects and Writing to JSON Files
However, if you need your JSON file to be compact (for example, if you need to transfer it or store a large amount of data), it is useful to omit indentation. To achieve it, simply use dump without the indent parameter: ... In this lesson, you learned how to construct Python objects and write them to a JSON file using the json module.
Top answer
1 of 16
3357

data is a Python dictionary. It needs to be encoded as JSON before writing.

Use this for maximum compatibility (Python 2 and 3):

import json
with open('data.json', 'w') as f:
    json.dump(data, f)

On a modern system (i.e. Python 3 and UTF-8 support), you can write a nicer file using:

import json
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

See json documentation.

2 of 16
347

To get utf8-encoded file as opposed to ascii-encoded in the accepted answer for Python 2 use:

import io, json
with io.open('data.txt', 'w', encoding='utf-8') as f:
  f.write(json.dumps(data, ensure_ascii=False))

The code is simpler in Python 3:

import json
with open('data.txt', 'w') as f:
  json.dump(data, f, ensure_ascii=False)

On Windows, the encoding='utf-8' argument to open is still necessary.

To avoid storing an encoded copy of the data in memory (result of dumps) and to output utf8-encoded bytestrings in both Python 2 and 3, use:

import json, codecs
with open('data.txt', 'wb') as f:
    json.dump(data, codecs.getwriter('utf-8')(f), ensure_ascii=False)

The codecs.getwriter call is redundant in Python 3 but required for Python 2


Readability and size:

The use of ensure_ascii=False gives better readability and smaller size:

>>> json.dumps({'price': '€10'})
'{"price": "\\u20ac10"}'
>>> json.dumps({'price': '€10'}, ensure_ascii=False)
'{"price": "€10"}'

>>> len(json.dumps({'абвгд': 1}))
37
>>> len(json.dumps({'абвгд': 1}, ensure_ascii=False).encode('utf8'))
17

Further improve readability by adding flags indent=4, sort_keys=True (as suggested by dinos66) to arguments of dump or dumps. This way you'll get a nicely indented sorted structure in the json file at the cost of a slightly larger file size.

🌐
The Python Code
thepythoncode.com › article › working-with-json-files-in-python
How to Work with JSON Files in Python - The Python Code
Once you execute the above code, you'll notice data1.json file appeared in your working directory. We've opened the file in write mode, and used the json.dump() function to serialize the Python dictionary as a JSON formatted stream to the opened file.
🌐
Code Institute
codeinstitute.net › blog › python › working with json in python: a beginner’s guide
Working with JSON in Python: A Beginner's Guide - Code Institute DE
February 6, 2024 - import json # Sample data person = { "name": "Jerry Doe", "age": 29, "city": "Berlin" } # Writing JSON to a file with indentation with open('person_indented.json', 'w') as file: json.dump(person, file, indent=4) print("Indented JSON data has ...
🌐
W3Schools
w3schools.com › Python › gloss_python_format_json.asp
Python Format JSON
Python Overview Python Built-in Functions Python String Methods Python List Methods Python Dictionary Methods Python Tuple Methods Python Set Methods Python File Methods Python Keywords Python Exceptions Python Glossary · Built-in Modules Random Module Requests Module Statistics Module Math Module cMath Module · Remove List Duplicates Reverse a String Add Two Numbers · Python Examples Python Compiler Python Exercises Python Quiz Python Challenges Python Practice Problems Python Server Python Syllabus Python Study Plan Python Interview Q&A Python Training ... The example above prints a JSON string, but it is not very easy to read, with no indentations and line breaks.
🌐
GeeksforGeeks
geeksforgeeks.org › python › reading-and-writing-json-to-a-file-in-python
Reading and Writing JSON to a File in Python - GeeksforGeeks
It takes two parameters: dictionary: ... simply write it to a file using the "write" function. Example: Convert a dictionary to a JSON string and write it to a file....
Published: August 5, 2025