Как преобразовать список в json в python - PullRequest
1 голос
/ 19 февраля 2020

есть список со значениями

test = ["mark","will","john"]


, используя для l oop как преобразовать это в JSON, как это

test =[{"name":"mark"},{"name":"john"},{"name":"will"}]

Попробовал это

for i in test :
    print({"name":i})

Ответы [ 4 ]

5 голосов
/ 19 февраля 2020

Создайте словарь в пределах списка:

test = ["mark","will","john"]
json_list = [{"name": n} for n in test]

, такой же как:

json_list = []
for n in test:
    json_list.append({"name" : n})

, затем дамп в json:

import json
json.dumps(json_list)
0 голосов
/ 19 февраля 2020
>>> test = ["mark","will","john"]
>>> final=[]
>>> for i in test:
    d=dict()
    d['name']=i
    final.append(d)
>>> final

>>>[{'name': 'mark'}, {'name': 'will'}, {'name': 'john'}]
0 голосов
/ 19 февраля 2020

функциональный способ использования map()

test = ["mark", "will", "john"]

toJson = lambda _name: {"name": _name} # this expression returns {"name": name} for every iterated "_name"

testJson = map(toJson, test)

for name in testJson:
  print(name)

для печати списка объектов карты, приведенных к списку, например list(testJson), и вы можете заменить toJson на выражение lambda для настройки результат

0 голосов
/ 19 февраля 2020
import json

test =[{"name":"mark"},{"name":"john"},{"name":"will"}]

testJson = json.dumps(test)

print(testJson) 

...