【问题标题】:How to convert list to json?如何将列表转换为 json?
【发布时间】:2021-05-05 07:55:35
【问题描述】:

我有一个查询集;

   queryset = tagReferenceLocationInfo.objects.select_related('ref').filter(tag_id__in=id_list, date__gte=startDate, date__lte=endDate)

我得到了这个查询集结果数据作为一个列表;

data = list(queryset)

此数据包含 ref 对象内的 referenceName。

我用过;

data = serialize('json', allObj)

我只能得到“ref”值;

[{"model": "equipment.tagreferencelocationinfo", "pk": 10015778, "fields": {"tag": 13, "ref": 26, "map": 1, "corX": 469, "corY": 295, "date": "2021-04-29T06:30:52.032Z"}}, {"model": "equipment.tagreferencelocationinfo", "pk": 10015812, "fields": {"tag": 13, "ref": 26, "map": 1, "corX": 473, "corY": 297, "date": "2021-04-29T06:31:02.507Z"}}]

我还想在此数据中获取“referenceName”。怎么加呢?

【问题讨论】:

    标签: json django list


    【解决方案1】:

    你可以使用json库中的这个方法

    import json
    
    jsonString = json.dumps(list)
    

    【讨论】:

    • 这不起作用,因为它是一个 json.dumps 不知道如何处理的查询集对象。
    【解决方案2】:

    您必须使用序列化程序。

    from django.core.serializers import serialize
    
    queryset = tagReferenceLocationInfo.objects.select_related('ref').filter(
        tag_id__in=id_list,
        date__gte=startDate,
        date__lte=endDate
    ).values(
        'ref__referanceName'
    )
    
    serialize('json', queryset)
    

    【讨论】:

    • 我编辑了我的答案,不确定它是否会起作用,但请尝试一下。您可能需要更改为字符串以适合您的模型,我不确定您的模型是什么样的
    • 再次感谢我也使用它,但我得到'dict'对象没有属性'_meta'错误。实际上,这就是我在这里问的原因。我不知道我错过了什么。
    猜你喜欢
    • 1970-01-01
    • 2014-03-03
    • 2020-03-21
    • 2019-06-12
    • 1970-01-01
    • 2016-11-15
    • 2021-08-27
    • 2021-02-03
    • 2022-01-23
    相关资源
    最近更新 更多