How to make a class JSON serializable

Do you have an idea about the expected output? For example, will this do? In that case you can merely call json.dumps(f.__dict__). If you want more customized output then you will have to subclass JSONEncoder and implement your own custom serialization. For a trivial example, see below. Then you pass this class into the json.dumps() method as cls kwarg: If you also … Read more

Are multi-line strings allowed in JSON?

JSON does not allow real line-breaks. You need to replace all the line breaks with \n. eg: “first line second line” can saved with: “first line\nsecond line” Note: for Python, this should be written as: “first line\\nsecond line” where \\ is for escaping the backslash, otherwise python will treat \n as the control character “new line”

What is the “right” JSON date format?

JSON itself does not specify how dates should be represented, but JavaScript does. You should use the format emitted by Date‘s toJSON method: 2012-04-23T18:25:43.511Z Here’s why: It’s human readable but also succinct It sorts correctly It includes fractional seconds, which can help re-establish chronology It conforms to ISO 8601 ISO 8601 has been well-established internationally for more than a decade ISO 8601 is endorsed … Read more

Parsing a JSON string in Ruby

This looks like JavaScript Object Notation (JSON). You can parse JSON that resides in some variable, e.g. json_string, like so: If you’re using an older Ruby, you may need to install the json gem. There are also other implementations of JSON for Ruby that may fit some use-cases better: YAJL C Bindings for Ruby JSON::Stream

data.map is not a function

Objects, {} in JavaScript do not have the method .map(). It’s only for Arrays, []. So in order for your code to work change data.map() to data.products.map() since products is an array which you can iterate upon.

is not JSON serializable

It’s worth noting that the QuerySet.values_list() method doesn’t actually return a list, but an object of type django.db.models.query.ValuesListQuerySet, in order to maintain Django’s goal of lazy evaluation, i.e. the DB query required to generate the ‘list’ isn’t actually performed until the object is evaluated. Somewhat irritatingly, though, this object has a custom __repr__ method which makes it look like a … Read more