如何获取没有转义序列的,与fileInfo一起存储的正确json?

手指流血

我无法检索存储在Maya的中确切JSON字符串转储(json.dumpsfileInfo

>>> 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几乎相同。

索拉布·库玛(Saurabh Kumar)

@theodox的答案可能是正确的。但是,如果您知道json字符串将被转义。您可以简单地使用来获取字符串的原始未转义版本。

mystring.decode('unicode_escape')

因此,在上述情况下,反序列化存储信息的正确方法是:

json.loads(pc.fileInfo['foo'].decode('unicode_escape'))

它看起来很难看,因此可以将其包含在函数中。

def safe_json_loads(str):
    return json.loads(str.decode('unicode_escape'))


data = safe_json_loads(pc.fileInfo['foo'])

干杯,

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取没有转义序列的,与fileInfo一起存储的正确json?

来自分类Dev

如何使Pynput的线程与转义序列一起工作?

来自分类Dev

如何在Windows 10上将ANSI转义序列与CSCRIPT一起使用?

来自分类Dev

gVim for Windows:如何正确转义将与!start一起使用的文件名?

来自分类Dev

有没有办法将PredicateBuilder与Azure表存储一起使用?

来自分类Dev

如何转义变量以与sed一起使用?

来自分类Dev

与实体框架一起使用而没有存储库模式的依赖注入

来自分类Dev

如何在有和没有ssh身份验证的情况下将Git与两个不同的存储库一起使用?

来自分类Dev

如何将Serde与具有不同对象的JSON数组一起使用,以获取成功和错误?

来自分类Dev

如何将具有相同密钥的所有数据存储在一起

来自分类Dev

将定义列表与有序列表组合在一起的正确方法是什么?

来自分类Dev

将定义列表与有序列表组合在一起的正确方法是什么?

来自分类Dev

如何在Spring Boot Response中获取没有转义字符的JSON?

来自分类Dev

如何将as.DNAbin {ape}与存储在数据框中的DNA序列一起使用?

来自分类Dev

正确转义bash脚本中的正斜杠以与sed一起使用

来自分类Dev

如何将Go与私有的GitLab存储库一起使用

来自分类Dev

解析JSON几乎没有将几个单独的元素放在一起

来自分类Dev

如何从 json 数组中获取 Json 对象并将它们与模型类一起使用

来自分类Dev

如何与Gson一起阅读Json

来自分类Dev

很难跟踪内存损坏-与Valgrind一起运行时可以正确运行且没有错误

来自分类Dev

Python urljoin 没有正确地将相对和绝对 url 连接在一起

来自分类Dev

如何将std :: sort与没有复制构造函数的对象一起使用?

来自分类Dev

没有将panblio2yaml与pandoc-citeproc一起安装。如何安装?

来自分类Dev

如何将show与多个没有ID的元素一起使用

来自分类Dev

如何在没有xdebug的情况下运行composer(与Homebrew一起安装时)

来自分类Dev

复杂的嵌套json循环与extjs一起存储

来自分类Dev

如何获取Piwik Json Data并将其与chart.js一起使用?

来自分类Dev

在模型响应中将字符串与转义序列一起传递时,其他转义序列会出现在响应对象中

来自分类Dev

如何与onblur一起正确处理onclick事件

Related 相关文章

  1. 1

    如何获取没有转义序列的,与fileInfo一起存储的正确json?

  2. 2

    如何使Pynput的线程与转义序列一起工作?

  3. 3

    如何在Windows 10上将ANSI转义序列与CSCRIPT一起使用?

  4. 4

    gVim for Windows:如何正确转义将与!start一起使用的文件名?

  5. 5

    有没有办法将PredicateBuilder与Azure表存储一起使用?

  6. 6

    如何转义变量以与sed一起使用?

  7. 7

    与实体框架一起使用而没有存储库模式的依赖注入

  8. 8

    如何在有和没有ssh身份验证的情况下将Git与两个不同的存储库一起使用?

  9. 9

    如何将Serde与具有不同对象的JSON数组一起使用,以获取成功和错误?

  10. 10

    如何将具有相同密钥的所有数据存储在一起

  11. 11

    将定义列表与有序列表组合在一起的正确方法是什么?

  12. 12

    将定义列表与有序列表组合在一起的正确方法是什么?

  13. 13

    如何在Spring Boot Response中获取没有转义字符的JSON?

  14. 14

    如何将as.DNAbin {ape}与存储在数据框中的DNA序列一起使用?

  15. 15

    正确转义bash脚本中的正斜杠以与sed一起使用

  16. 16

    如何将Go与私有的GitLab存储库一起使用

  17. 17

    解析JSON几乎没有将几个单独的元素放在一起

  18. 18

    如何从 json 数组中获取 Json 对象并将它们与模型类一起使用

  19. 19

    如何与Gson一起阅读Json

  20. 20

    很难跟踪内存损坏-与Valgrind一起运行时可以正确运行且没有错误

  21. 21

    Python urljoin 没有正确地将相对和绝对 url 连接在一起

  22. 22

    如何将std :: sort与没有复制构造函数的对象一起使用?

  23. 23

    没有将panblio2yaml与pandoc-citeproc一起安装。如何安装?

  24. 24

    如何将show与多个没有ID的元素一起使用

  25. 25

    如何在没有xdebug的情况下运行composer(与Homebrew一起安装时)

  26. 26

    复杂的嵌套json循环与extjs一起存储

  27. 27

    如何获取Piwik Json Data并将其与chart.js一起使用?

  28. 28

    在模型响应中将字符串与转义序列一起传递时,其他转义序列会出现在响应对象中

  29. 29

    如何与onblur一起正确处理onclick事件

热门标签

归档