2016-09-24 4 views
0

json을 Postgres DB에서 데이터 유형으로 사용하고 json 문서에서 값을 추출하는 데 문제가있는 데이터베이스로 작업하고 있습니다. 나는 주위에 약간의 연구를 수행했고Postgres의 JSON 필드에서 데이터에 액세스하기

  • json_array_elements
  • response ->> 'filterEntryId'
  • json_populate_recordset(null::obj, table.column -> 'filterEntryId'

를 사용하고 있지만 성공하지 않은 포함한 다양한 솔루션을 시도했다. 나는 이것이 json이 컬럼에 저장되는 방식이라고 생각하기 시작했다. 즉, '{'대신 '['로 시작한다.

다음은 json 필드 값의 예입니다.

[{ 
    "filterEntryId":373, 
    "length":3, 
    "locale":"en", 
    "matched":"dog", 
    "quality":1.0, 
    "root":"dog", 
    "severity":"mild", 
    "start":2, 
    "tags":["Vulgarity"], 
    "type":"blacklist" 
}] 

답변

0

그냥 알아 냈어. 나는 json_array_elements 기능을 잘못 사용하고있었습니다. 사람이 여기에,이를 통해 실수를 한단다하는 경우에

는 JSON

select 
    json_array_elements(column) ->> 'filterEntryId' 
from table 

기본적으로 먼저 문서에 액세스 한 다음 그것에서 필요한 잡는를 조회 할 수있는 올바른 방법입니다. 나는 이것이 열의 데이터 주변의 '['로 인해 이런 방식으로 수행되어야한다고 생각한다.

누구나 내 설명을 넓혀야합니다.

관련 문제