Apropos of your comment:
I want to use it for configuration. A lot of applications invent
their own configuration language. I want to avoid this. But json and
ConfigParser don't satisfy me. Json does not allow strings with
newlines (only \n) and ConfigParser does not allow nested data
structures. Next thing that I am missing: Validation (But this is a
different topic).
There're 3 main options you have ConfigParser, ConfigObj, or YAML (PyYAML) - each with their particular pros and cons. All 3 are better then JSON for your use-case i.e. configuration file.
Now further, which one is better depends upon what exactly you want to store in your conf file.
ConfigObj - For configuration and validation (your use-case):
ConfigObj is very simple to use then YAML (also the ConfigParser). Supports default values and types, and also includes validation (a huge plus over ConfigParser).
An Introduction to ConfigObj
When you perform validation, each of the members in your specification
are checked and they undergo a process that converts the values into
the specified type. Missing values that have defaults will be filled
in, and validation returns either True to indicate success or a
dictionary with members that failed validation. The individual checks
and conversions are performed by functions, and adding your own check
function is very easy.
P.S. Yes, it allows multiline values.
Helpful links:
A Brief ConfigObj Tutorial
ConfigObj 5 Introduction and Reference
There are solid SO answers available on the comparison YAML vs ConfigParser vs ConfigObj:
What's better, ConfigObj or ConfigParser?
ConfigObj/ConfigParser vs. using YAML for Python settings file