2017-03-12 39 views
0

我从MySQL导入的数据与Python和数据作为JSON返回到谷歌地图绘制点并添加说明的地步。解析JSON使用Python和删除'“和/

然而,我注意到,如果用户对这样的

点进入数据“这真是太不可思议了这太酷了!”

我结束了JSON看起来像这样

[{"description" : "This is really amazing it/'s so cool! }]

我的地图不喜欢。我想知道如果任何人都可以解释如何从JSON,所以如果用户输入的行删除特殊字符以上,将作为

[{"description" : "This is really amazing its so cool! }]

一切都被退回,而不单,双引号,斜线等的伟大工程我尝试手动删除特殊章程,一切都完美无瑕!

+0

为什么你的地图“不喜欢”那个?也许你应该解决这个问题。或者修正(向前?)斜线问题,使其进入你的JSON。很难提供建议,但不会看到插入输入数据的代码,选择它并将其序列化为JSON。 – Ryan

+0

您的收盘报价是怎么回事? –

+0

你有没有签出,是否mysql正在逃避引号,当你在mysql中存储它? –

回答

1

你的双引号将被斜线转义。

payload = {'description': '"This is really amazing its so cool!"'} 
json_str = json.dumps(payload) 
# json auto add a slash to escape double quote 
print(json_str) # => {"description": "\"This is really amazing its so cool!\""} 

# Extract the json string will auto remove the slash 
# You don't need to handle them manually 
extracted_payload = json.loads(json_str) 
print(extracted_payload['discription']) # => '"This is really amazing its so cool!"' 
+0

感谢您的回答!只是一个简短的问题,为什么我得到的答案看起来像这样呢?[{u'description':u'This真的太棒了!'}]'为什么你的'只是出现? – BrettJ

+0

好吧,你是对的!我认为真正的问题在于我如何“询问”MySQL的数据。再次感谢。 – BrettJ