Postgres : json 문자열을 텍스트로 변환하는 방법은 무엇입니까?
Json 값은 문자열 값으로 구성 될 수 있습니다. 예 :
postgres=# SELECT to_json('Some "text"'::TEXT);
to_json
-----------------
"Some \"text\""
해당 문자열을 postgres 텍스트 값으로 추출하려면 어떻게해야합니까?
::TEXT작동하지 않습니다. 원래 문자열이 아닌 인용 된 json을 반환합니다.
postgres=# SELECT to_json('Some "text"'::TEXT)::TEXT;
to_json
-----------------
"Some \"text\""
감사.
PS PostgreSQL 9.3을 사용하고 있습니다.
PostgreSQL에서는 스칼라 JSON 객체를 분해 할 방법이 없습니다. 따라서 지적했듯이
select length(to_json('Some "text"'::TEXT) ::TEXT);
15입니다.
트릭은 JSON을 하나의 JSON 요소의 배열로 변환 한 다음 ->>.
select length( array_to_json(array[to_json('Some "text"'::TEXT)])->>0 );
11을 반환합니다.
9.4.4에서 #>>연산자를 사용하면 나를 위해 작동합니다.
select to_json('test'::text) #>> '{}';
테이블 열과 함께 사용하려면 :
select jsoncol #>> '{}' from mytable;
이 작업을 수행하는 쉬운 방법 :
SELECT ('[' || to_json('Some "text"'::TEXT) || ']')::json ->> 0;
json 문자열을 json 목록으로 변환하십시오.
이 질문 / 솔루션은 또 다른 질문을 생성합니다. PostgreSQL 개발자를위한 매니페스트 : JSON 문자열 을 SQL 텍스트 로
캐스팅하는 데 따옴표가 필요한 이유는 무엇 입니까?
오, 약간의 딜레마가 있습니다 ... 사용자에게 선호하는 것을 물어 보는 것은 어떨까요?
SQL에서 char (N)을 캐스팅 하면 따옴표없이 예상 텍스트 가 생성됩니다 . 임베디드 언어 또는 드라이버에서 SQL 텍스트 를 캐스팅 하면 따옴표가없는 예상 문자열 데이터 유형이 생성되고 , 문자열을 캐스팅 하면 따옴표가없는 예상 SQL 텍스트 가 생성됩니다 . 보편적 인 예상 동작입니다.
참고 URL : https://stackoverflow.com/questions/27215216/postgres-how-to-convert-a-json-string-to-text
'program story' 카테고리의 다른 글
| 첫 페이지로드 후 한 번 페이지 새로 고침 (0) | 2020.10.21 |
|---|---|
| div에이 텍스트가 포함 된 경우 jQuery, 텍스트의 해당 부분을 바꿉니다. (0) | 2020.10.21 |
| numpy에서 요소 별 행렬 곱셈 (아다 마르 곱)을 얻는 방법은 무엇입니까? (0) | 2020.10.21 |
| jquery를 사용하여 div 태그 값 설정 (0) | 2020.10.21 |
| 레일의 두 열에 고유 인덱스를 구현하는 방법 (0) | 2020.10.21 |