Bentley4
Bentley4

Reputation: 11028

How to get a well formatted json dump from a Django model nested inside a dictionary?

I'm trying to get data in a view formatted to json to pass to jQuery code.

I am able to get a json dump from a simple dictionary:

from django.core import serializers


message = Message.objects.get(pk=2)
json_result = serializers.serialize("json", [message,])

I am also able to get a json dump from a Django model:

import json


result = {"message": "hello",
          "age": 3}
json_result = json.dumps(result)

but I haven't been able to get a properly formatted json dump from a Django model nested inside a dictionary:

from django.core import serializers
import json


message = Message.objects.get(pk=2)
json_message = serializers.serialize("json", [message,])

result = {"message": json.dumps(serialized_message),
          "age": 3}
bad_json_result = json.dumps(result)

Upvotes: 2

Views: 733

Answers (1)

rolnn
rolnn

Reputation: 938

You can use json.loads

import json
from django.core import serializers

message = Message.objects.get(pk=2)
json_str_result = serializers.serialize("json", [message,]) #returns string
to_dump = {"message": json.loads(json_str_result)[0], "age": 3} #json.loads
print json.dumps(to_dump)

Upvotes: 2

Related Questions