Habe eine Liste mit Werten

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


Verwenden der for-Schleife, um dies wie folgt in JSON zu konvertieren

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

Versuchte dies

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

1
user10955063 19 Feb. 2020 im 12:38

4 Antworten

Beste Antwort

Erstellen Sie ein Wörterbuch innerhalb eines Listenverständnisses:

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

Gleich wie:

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

Dann auf json ausgeben:

import json
json.dumps(json_list)
5
AK47 19 Feb. 2020 im 09:47

Funktionsweise mit 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)

Um eine Liste eines Kartenobjekts zu drucken, wandeln Sie es in eine Liste um, Beispiel list(testJson) und Sie können toJson durch Ihren lambda Ausdruck ersetzen, um das Ergebnis anzupassen

0
patda9 19 Feb. 2020 im 10:13
>>> 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
shubham khode 19 Feb. 2020 im 11:08
import json

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

testJson = json.dumps(test)

print(testJson) 

0
Vijay Pushkin 19 Feb. 2020 im 09:41