擅长:python、mysql、java
<p>我的(也许不是最优雅的)解决方案:</p>
<p>但它适用于python2、python3以及unicode字符串中的unicode字符:</p>
<pre><code>
text_type = None
if PY2:
string_types = basestring
text_type = unicode
else:
string_types = text_type = str
def DictUnescaceBackslash(oDict):
for key, value in iteritems(oDict):
if isinstance(value, dict):
DictUnescaceBackslash(value)
elif isinstance(value, string_types):
oDict[key]=oDict[key].replace("***BaCkSlAsH***","\\")
elif isinstance(value, list):
for elem in value:
DictUnescaceBackslash(elem)
mystring = u'{"baselocaldir":"c:\\tmp\\SrcTmp\\RepManager"}'
uString2 = mystring.replace("\\","***BaCkSlAsH***")
dDict = ast.literal_eval(uString2)
DictUnescaceBackslash(dDict)
</code></pre>