如何在以下代码中忽略\?

时间:2013-12-18 17:17:53

标签: python simplejson

>>> import simplejson
>>> data={'s': 1, 'd': {'kwds': {u'"ramana"': {u'"ramana"': [(0L, 7L)]}}}}
>>> print simplejson.dumps(data, ensure_ascii=False)

然后我就这样了。

{"s": 1, "d": {"kwds": {"\"ramana\"": {"\"ramana\"": [[0, 7]]}}}}

但我希望得到:

{"s": 1, "d": {"kwds": {""ramana"": {""ramana"": [[0, 7]]}}}}

怎么做?

1 个答案:

答案 0 :(得分:2)

它只是数据的表示。你可以忽略它。

为什么会这样表示?

""表示Python中的空字符串。所以,如果你有这样的句子

Welcome to "SO" Guys

当计算机处理它时,它可能会变成

"Welcome to "SO" Guys"

它将被视为两个不同的字符串("Welcome to "" Guys")。现在,这里的SO是什么?这就是simplejson使用"转义\字符的原因。但数据是安全的,

检查此示例

data = 'Welcome to "SO" Guys'
import simplejson
print simplejson.dumps(data)
print data

<强>输出

"Welcome to \"SO\" Guys"
Welcome to "SO" Guys

由于JSON's specification

simplejson会这样做
  

2.5。字符串

     

字符串的表示类似于中使用的约定   C系列编程语言。字符串以
开头和结尾   引号。所有Unicode字符都可以放在中   引号除了必须转义的字符外:
  引号,反向固定和控制字符(U + 0000
  通过U + 001F)。