my bad. I forgot to explain how I ended up with that escaped json. I tried the normal JSON like the one you specified but here is what I got.
[2015-09-30 22:39:41,657] {models.py:405} ERROR - Expecting property name: line 1 column 2 (char 1)
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/airflow/models.py", line 403, in extra_dejson
obj = json.loads(self.extra)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 382, in raw_decode
obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 2 (char 1)
[2015-09-30 22:39:41,660] {models.py:408} ERROR - Failed parsing the json for conn_id druid_ingest_default
As per
https://github.com/airbnb/airflow/blob/master/airflow/models.py#L407 ----- `json.loads({'endpoint': '
/druid/indexer/v1/task'})` errors out in the python console as well. But `json.loads('{"endpoint": "
/druid/indexer/v1/task"}')` or the escaped one from the original question returns a unicode string in the dict.