Python: Umwandeln einer Liste von python-dictionaries, um ein array von JSON-Objekten

Ich versuche zu schreiben, eine Funktion zum konvertieren einer python-Liste in ein JSON-array {"mpn":"list_value"} Objekte, bei denen "mpn" ist die wörtliche string-Wert brauche ich für jedes Objekt aber "list_value" ist der Wert aus der python-Liste. Ich verwende die Ausgabe dieser Funktion für eine API-get-Anfrage.

part_nums = ['ECA-1EHG102','CL05B103KB5NNNC','CC0402KRX5R8BB104']

def json_list(list):
    lst = []
    d = {}
    for pn in list:
        d['mpn']=pn
        lst.append(d)
    return json.dumps(lst, separators=(',',':'))

print json_list(part_nums)

Dieser aktuellen Funktion funktioniert nicht und gibt letzten Wert in der python-Liste für alle JSON-Objekte:

>[{"mpn":"CC0402KRX5R8BB104"},{"mpn":"CC0402KRX5R8BB104"},{"mpn":"CC0402KRX5R8BB104"}]

Aber natürlich muss ich meiner Funktion geben Sie die eindeutige Liste mit Werten in den Objekten als solchen:

>[{"mpn":"ECA-1EHG102"},{"mpn":"CL05B103KB5NNNC"},{"mpn":"CC0402KRX5R8BB104"}]

Bottom line ist, die ich nicht verstehe, warum diese Funktion nicht funktioniert. Ich erwartet, ich konnte fügen Sie ein Wörterbuch mit einer einzigen {Schlüssel:Wert} - paar zu einer python-Liste und es würde keine Rolle, dass alle Wörterbücher haben den gleichen Schlüssel, weil Sie unabhängig sein. Vielen Dank für Ihre Hilfe.

bewegen d = {} zwei Zeilen nach unten, innerhalb der for

InformationsquelleAutor Bob Jordan | 2012-07-03

Schreibe einen Kommentar