[英]Removing/Escaping single quotes MySQL/JSON
我不太確定該做什么-處理MySQL方面的單引號(在導入或導出時)或在JSON轉儲中處理它們。
我有一個選擇4個DB列並返回它們的函數。
def Import_Sql():
c, conn = connection()
dictCursor = conn.cursor(MySQLdb.cursors.DictCursor)
data = dictCursor.execute("SELECT title, description, lat, lng FROM poi")
data = dictCursor.fetchall()
dictCursor.close
c.close()
gc.collect()
return data
從那里我做jsonout = json.dumps(data)
返回下面的JSON
[{"lat": "43.8934276", "lng": "-103.3690243", "description": "Super Amazing Place", "title": "Swimming"}]
但是,如果有人添加了一個在文本中包含單引號的數據庫條目(例如,如果上面說的是“這真是太棒了”),那么所有這些工作就沒有缺陷了,我的Google Map不再能夠添加標記到這一點,因為我的JSON無效。
如果有人可以向我描述問題的根源以及我可以采取的補救措施,我將非常高興! 提前致謝。
根據操作人員的評論,這是此問題的有效答案。
Json確實支持引號,問題不在於Json,而在於Google Map的Javascript。
地址必須已'
用\\'
轉義\\'
。
您可以使用以下方法在JavaScript中進行操作:
str = "It's super amazing";
str = str.replace(/'/g, "\\'");
document.write(str); // = It\'s super amazing
我最終要做的是,必須替換單引號,然后替換MySQL和Python在JSON中添加的斜杠,什么也沒有,有效地將它們刪除了! 這種簡單的答案花了我幾個小時才能弄清楚。
jsonout = json.dumps(MySQL_Dict)
jsonout = jsonout.replace("'", "")
jsonout = jsonout.replace("\\", "")
return render_template("all_places.html", jsonout = jsonout)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.