반응형
jq를 사용하여 문자열을 JSON 파일에서 정수로 변환하려면 어떻게 해야 합니까?
jq를 사용하여 복잡한 json 개체를 더 작은 개체로 변환합니다.질문 내용:
jq 'to_entries[]| {companyId: (.key), companyTitle: (.value.title), companyCode: (.value.booking_service_code)}' companies.json
자, 이제.(.key)
스트링으로 해석되지만companyId
숫자가 될 수 있습니다.
현재 결과는 다음과 같습니다.
{
"companyId": "1337",
"companyTitle": "Some company title",
"companyCode": "oxo"
}
하지만 다음과 같아야 합니다.
{
"companyId": 1337,
"companyTitle": "Some company title",
"companyCode": "oxo"
}
jq
에는 기능이 내장되어 있습니다.키를 다음에 파이프 접속할 수 있습니다.
jq 'to_entries[]| {companyId: (.key)|tonumber, companyTitle: (.value.title), companyCode: (.value.booking_service_code)}' companies.json
문서에 따르면:
tonumber
그tonumber
함수는 입력을 숫자로 해석합니다.올바른 형식의 문자열이 해당 숫자 형식으로 변환되고 숫자는 그대로 유지되며 다른 모든 입력에 오류가 발생합니다.
Example jq '.[] | tonumber' Input [1, "1"] Output 1 1
(플로트로 변환되는) 문자열을 정수로 변환하려고 했습니다.토인트 기능을 찾고 있었는데 존재하지 않아요.
jq --arg str "1.435" -n '$str|tonumber'
1.435
생성된 숫자가 정수인지 확인하기 위해 바닥에 바닥을 쳤습니다.
jq --arg str "1.435" -n '$str|tonumber|floor'
1
이렇게 하면 OP 원본 데이터도 올바르게 변환됩니다.결과가 정수임을 보증하려면 플로어링해야 합니다.
언급URL : https://stackoverflow.com/questions/48887711/how-to-convert-a-string-to-an-integer-in-a-json-file-using-jq
반응형
'programing' 카테고리의 다른 글
스프링 부트 실행 시 IntelliJ 프로세스가 종료 코드 0으로 종료됨 (0) | 2023.03.26 |
---|---|
REST API 베스트프랙티스: 쿼리 문자열의 arg와 요구 본문의 arg (0) | 2023.03.26 |
반응-선택 포커스 테두리 제거 (0) | 2023.03.26 |
Spring Boot + Spring Security 어플리케이션에서 CORS를 설정하는 방법 (0) | 2023.03.26 |
AngularJS - 속성 지시 입력 값 변경 (0) | 2023.03.26 |