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字段在现有的状态(可能使用名称中的一些特殊字符)?