2014-04-01 19 views
10

nếu bất kỳ ai có kiến ​​thức về việc in ấn khá JSON có thể giúp tôi với điều này, tôi sẽ rất biết ơn!In python JSON

Tôi đang tìm để chuyển đổi một chuỗi python phức tạp sang định dạng JSON, sử dụng chức năng dưới đây để di chuyển các chuỗi JSON vào một tệp:

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

Vấn đề là tôi nhận được lỗi cú pháp cho Tôi tin rằng, vì đây là một chủ đề mới cho tôi và tôi không thể tìm ra cách để giải quyết vấn đề này. Định dạng JSON tôi yêu cầu giống như sau:

{ 
     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}]} 
       ] 
    } 

Tôi đang theo API Google Visualization, bạn có thể quen với nó, nhưng tôi cần đồ thị động. Đoạn mã trên là định dạng mà API yêu cầu để tạo biểu đồ, vì vậy tôi đang trong quá trình tìm hiểu cách lấy dữ liệu từ MYSQL sang định dạng này, vì vậy biểu đồ có thể đọc và hiển thị. Phương pháp mà tôi nghĩ là cập nhật tệp có định dạng JSON theo yêu cầu định kỳ, đó là lý do tại sao% s có mặt, tuy nhiên MartijnPeters gợi ý rằng tệp này không hợp lệ.

Có ai biết cách đơn giản nhất tôi có thể thực hiện việc này hay bạn có thể chỉ cho tôi bất kỳ tài liệu nào có thể trợ giúp không? Cảm ơn bạn!!

Trả lời

41

Bạn đang viết Biểu diễn Python, không phải JSON.

Sử dụng json.dump() function viết JSON khá-in thay vào đó, trực tiếp đến tập tin của bạn:

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