есть список со значениями
test = ["mark","will","john"]
, используя для l oop как преобразовать это в JSON, как это
test =[{"name":"mark"},{"name":"john"},{"name":"will"}]
Попробовал это
for i in test : print({"name":i})
Создайте словарь в пределах списка:
test = ["mark","will","john"] json_list = [{"name": n} for n in test]
, такой же как:
json_list = [] for n in test: json_list.append({"name" : n})
, затем дамп в json:
json
import json json.dumps(json_list)
>>> test = ["mark","will","john"] >>> final=[] >>> for i in test: d=dict() d['name']=i final.append(d) >>> final >>>[{'name': 'mark'}, {'name': 'will'}, {'name': 'john'}]
функциональный способ использования map()
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 для настройки результат
list(testJson)
toJson
lambda
import json test =[{"name":"mark"},{"name":"john"},{"name":"will"}] testJson = json.dumps(test) print(testJson)