2014-04-01 13 views
10

, jeśli ktoś z pewną wiedzą o ładnym druku JSON mógłby mi w tym pomóc, byłbym niezmiernie wdzięczny!Dosyć drukowany pyton JSON

szukam przekonwertować złożony ciąg Pythona do formatu JSON, używając funkcji poniżej, aby przesunąć łańcuch JSON do pliku:

with open('data.txt', 'wt') as out: 
    pprint(string, stream=out) 

Problem polega na tym, że ja dostaję błędy składni nawias kwadratowy uważam, ponieważ jest to dla mnie nowy temat i nie mogę wymyślić, jak sobie z tym poradzić. Format JSON I wymaga to tak:

{ 
     cols:[{id: 'Time', "label":"Time","type": "datetime"}, 
       {id: 'Time', "label":"Latency","type":"number"}], 
     rows:[{c: [{v: %s}, {v: %s}]}, 
       {c: [{v: %s}, {v: %s}]}, 
       {c: [{v: %s}, {v: %s}]}, 
       {c: [{v: %s}, {v: %s}]} 
       ] 
    } 

Obserwuję Google Visualization API może być familier z nim, ale muszę dynamicznych wykresów. Powyższy kod jest formatem wymaganym przez API do utworzenia wykresu, dlatego właśnie zastanawiam się, w jaki sposób pobrać moje dane z MYSQL do tego formatu, aby wykres mógł zostać odczytany i wyświetlony. Metodą, o której pomyślałem, było okresowe aktualizowanie pliku zawierającego wymagany format JSON, dlatego obecne są% s, jednak MartijnPeters sugeruje, że jest on nieprawidłowy.

Czy ktoś zna najprostszy sposób, w jaki mogę to zrobić, czy możesz wskazać mi dowolny materiał, który może pomóc? Dziękuję Ci!!

Odpowiedz

41

Piszecie Państwo: Reprezentacje w języku Python, a nie JSON.

Użyj json.dump() function napisać całkiem wydrukowanego JSON zamiast bezpośrednio do pliku:

with open('data.txt', 'wt') as out: 
    res = json.dump(obj, out, sort_keys=True, indent=4, separators=(',', ': '))