0
看起來我的psql DB包含一些格式不正確的json字段,因此我無法使用 - >>運算符檢索這些數據。psql - 檢索包含特殊字符的json數據
我有一個json類型的「名譽」列的表。
我進行查詢以獲得特定對象的「信譽」欄:
select reputation from hashes where sha1='c1b5684e132a85d18a35ddb98233cc2b71efcf0e'
我收到以下結果看起來像JSON與轉義字符格式:
"{\"status\": \"MALICIOUS\", \"scanner_match\": 33, \"first_seen\": \"2010-05-27T09:00:27\", \"scanner_count\": 34, \"last_seen\": \"2010-05-27T09:00:27\"}"
然而,當我「M試圖讓這個JSON特定的領域,我得到什麼:
select reputation->>status from hashes where sha1='c1b5684e132a85d18a35ddb98233cc2b71efcf0e'
我一個LSO嘗試下面的查詢,以檢查PSQL如何處理這個JSON和接收的錯誤:
select * from json_each((select reputation from hashes where sha1='c1b5684e132a85d18a35ddb98233cc2b71efcf0e'));
ERROR: cannot deconstruct a scalar
所以它看起來像PSQL不承認這是JSON。如果是這樣,我有幾個問題:
- 如果這是無效的json格式,那麼psql如何可以讓我們插入格式不正確的json到json類型列?
- 是否有可能以某種方式訪問這些json字段在現有的狀態(可能使用名稱中的一些特殊字符)?