简体   繁体   中英

How to create a json file from list in python?

I am tring to create a json file with my lists in my python code:

I have

arr_of_id_by_user = [1, 2, 3]
arr_of_wallet_amount = [100,3400,200]

I would like this to return in the json file like

jsonfile = [{
    "user" : 1,
    "wallet amount": 100
},
{
    "user" : 2,
    "wallet amount": 3400
},
{
    "user" : 3,
    "wallet amount": 200
}]

Is it possible to do that? I tried to do a for loop like this:

for elements in arr_of_id_by_user:
        return jsonify({
            "id": elements
        })

and json.dumps() but it don't work... maybe I have to do a tuple with (user.value[0], wallet_amount.value[0]) ?

for peoples who try to do the reverse thing: How to create a Python list from a JSON object?

I would like to thank all those who helped me and who participate in the learning of all.

Convert the lists to list of dictionaries and dump this to the file

arr_of_id_by_user = [1, 2, 3]
arr_of_wallet_amount = [100, 3400, 200]
with open('file.json', 'w') as file:
    json.dump([{'user': id, 'wallet amount': amount} for id, amount in zip(arr_of_id_by_user, arr_of_wallet_amount)], file)

file.json

[{"user": 1, "wallet amount": 100}, {"user": 2, "wallet amount": 3400}, {"user": 3, "wallet amount": 200}]

Another simple solution, using enumerate:

import json

arr_of_id_by_user = [1, 2, 3]
arr_of_wallet_amount = [100,3400,200]

jsonfile=[]

for index, value in enumerate(arr_of_id_by_user):
    jsonfile.append({
        "user": value,
        "waller_amount": arr_of_wallet_amount[index]
    }) 

print (json.dumps(jsonfile, indent=4))
Python List to JSON Array

list_example = ["Mango", 1, 3,6, "Oranges"];
print(json.dumps(list_example))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM