簡體   English   中英

以 Django 的漂亮打印格式將 JSON 寫入文件

[英]Write JSON to a file in pretty print format in Django

我需要創建一些 JSON 文件,用於將數據從 Django 系統導出到 Google Big Query。

問題是 Google BQ 在 JSON 文件中強加了一些特征,例如,每個 object 必須位於不同的行中。

json.dumps 寫的是 JSON 的字符串化版本,所以對我來說沒用。

Django 更好地序列化寫入 JSON,但它把所有內容放在一行中。 我發現的所有關於漂亮打印的信息都是關於 json.dumps,我無法使用。

我想知道是否有人知道以 Big Query 所需的格式創建 JSON 文件的方法。

例子:

    JSONSerializer = serializers.get_serializer("json")
    json_serializer = JSONSerializer()
    data_objects = DataObject.objects.all()
    with open("dataobjects.json", "w") as out:
        json_serializer.serialize(data_objects, stream=out)

json.dumps 你必須像這樣使用indent

import json
myjson = '{"latitude":48.858093,"longitude":2.294694}'
mydata = json.loads(myjson)
print(json.dumps(mydata, indent=4, sort_keys=True))

Output:

{
    "latitude": 48.858093,
    "longitude": 2.294694
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM