Parsing JSON with Unix tools

There are a number of tools specifically designed for the purpose of manipulating JSON from the command line, and will be a lot easier and more reliable than doing it with Awk, such as jq: You can also do this with tools that are likely already installed on your system, like Python using the json module, and so … Read more

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

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