Attualmente sto facendo questo:modo più divinatorio per formattare una stringa JSON da un elenco di tuple
def getJSONString(lst):
join = ""
rs = "{"
for i in lst:
rs += join + '"' + str(i[0]) + '":"' + str(i[1]) + '"'
join = ","
return rs + "}"
che io chiamo come:
rs = getJSONString([("name", "value"), ("name2", "value2")])
E non ha bisogno di essere nidificati (sarà sempre e solo una semplice lista di coppie di valori nominali). Ma sono aperto a chiamare la funzione in modo diverso. Sembra tutto un po 'noioso, c'è un modo più elegante? Questo deve essere eseguito sotto 2.x.
Si noti che questo non è un duplicato di: Python - convert list of tuples to string (a meno che tale risposta possa essere modificata per creare una stringa JSON come output).
modifica: sarebbe meglio passare le coppie di valori nome come dizionario?
('datetime.datetime (2012, 12, 7, 10, 53, 22) non è JSON serializzabile',) - questo significa tutti i miei valori devono essere stringhe? (e se lo fanno, c'è un modo carino per farlo accadere?) –
@cskilbeck: sì, gli oggetti 'datetime' non hanno serializzazione * default * per JSON. È necessario trasformarli manualmente in stringhe. –
@cskilbeck: vedere [JSON datetime tra Python e JavaScript] (http://stackoverflow.com/q/455580) –