我想以 json 格式序列化一个自定义对象,其中 entryData 是我的域对象的列表。像这样:
{
"total":2,
"current":1,
"entryData":[
{
"id":1,
"version":0,
"name":"Default Station"
},
{
"id":2,
"version":3,
"name":"Default Station 1"
}
]
}
下面是我在一次尝试中为获得json输出所做的工作:
def ground_station_listgrid(request):
entryData = serializers.serialize("json", GroundStation.objects.all())
response_data = {}
response_data['totalPages'] = 2
response_data['currentPage'] = 1
response_data['entryData'] = entryData
return HttpResponse(json.dumps(response_data),mimetype='application/json')
但结果是entryData评估为字符串,引号转义:
{
"totalPages": 1,
"currentPage": 1,
"entryData": "[{\"pk\": 1, \"model\": \"satview.groundstation\", ....
我也尝试过这样做:
def ground_station_listgrid(request):
response_data = {}
response_data['totalPages'] = 1
response_data['currentPage'] = 1
response_data['entryData'] = GroundStation.objects.all()
return HttpResponse(json.dumps(response_data),mimetype='application/json')
但是我得到了这个例外:[
有人能告诉我正确的方向吗?
提前感谢马可
您可以使用model_to_dict():
def ground_station_listgrid(request):
data = [model_to_dict(instance) for instance in GroundStation.objects.all()]
response_data = {}
response_data['totalPages'] = 1
response_data['currentPage'] = 1
response_data['entryData'] = data
return HttpResponse(json.dumps(response_data),mimetype='application/json')
虽然我更喜欢使用包含在django电池中:django.core.序列化程序,但是,由于您有自定义的json响应,model_to_dict()
似乎是要走的路。
这里还有其他选项(如使用<code>values_list()):
问题内容: 我正在使用Jersey为服务器组件创建REST Web服务。 我要在列表中序列化的带有JAXB注释的对象如下所示: 我有一个REST资源来检索一个看起来像这样的发行版: 我还有一个REST资源来检索所有发行版的列表,如下所示: 我使用ContextResolver自定义JAXB序列化,当前配置如下: REST资源和上下文解析器都可以使用。这是第一个输出的示例: 这正是我想要的。这是列表
问题内容: 确定,所以我编辑了问题,因为它不够清楚。 编辑2 :更新了JSON文件。 我在Android应用程序中使用GSON,我需要解析来自服务器的JSON文件,这些文件有点太复杂了。我不想让我的对象结构太沉重,所以我想简化内容: 所以我的对象的结构将不是JSON文件的结构。 例如,如果在JSON中,我有以下内容: 我不想保留我当前的对象结构,即一个对象,其中包含一个和一个“总计”。但是我只想将
我有以下用于序列化查询集的代码: 下面是我的 我需要将其序列化。但它说无法序列化
我使用NewtonSoft.json来反序列化这个json
我有下面的JSON,我正试图使用Jackson API反序列化它 我基本上需要一个附件类,它有一个AttachmentFile对象列表,如下所示: 如何使用自定义反序列化器实现这一点? 谢谢
问题内容: 有没有一种方法/库可以让我像GSON自定义序列化程序一样自定义JSON序列化? 这是我想要得到的: 此对象: KeyValuePair(“ Age”,10)myAge 通常会像 “ myAge”:{“ Key”:“ Age”,“ Value”:10} 同时我希望它进行序列化,例如: “年龄”:10 。有任何想法吗? 问题答案: 首先,我建议使用newton json dll。 其次,您