我无法检索存储在 Maya 中的确切JSON 字符串转储 ( ) 。json.dumps
fileInfo
>>> import pymel.core as pc
>>> json.dumps({'foo': 123})
'{"foo": 123}'
>>> pc.fileInfo['foo'] = json.dumps({'foo': 123})
>>> pc.fileInfo['foo']
u'{\\"foo\\": 123}'
>>> json.loads(pc.fileInfo['foo']) # this produces an error because of the escape sequence
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\Program Files\Autodesk\Maya2011\bin\python26.zip\json\__init__.py", line 307, in loads
File "c:\Program Files\Autodesk\Maya2011\bin\python26.zip\json\decoder.py", line 319, in decode
File "c:\Program Files\Autodesk\Maya2011\bin\python26.zip\json\decoder.py", line 336, in raw_decode
File "c:\Program Files\Autodesk\Maya2011\bin\python26.zip\json\scanner.py", line 55, in iterscan
File "c:\Program Files\Autodesk\Maya2011\bin\python26.zip\json\decoder.py", line 171, in JSONObject
ValueError: Expecting property name: line 1 column 1 (char 1)
问题是当 Maya 存储一个值时,它确保它被正确转义。但是当这个字符串被检索到它的格式错误时json.loads
。我怎样才能解决这个问题?
我基本上在寻找的是无法逃脱的东西序列的东西?到目前为止,我还没有找到任何可以做到这一点的东西。
MEL 与 C 有很多相似之处,因此转义序列与 C 的大部分相同,如上所示。