2017-03-27 1 views
0

배열을 사용하여 JSON 파일을 데이터베이스로 변환하려고합니다. 배열 항목과 JSON 파일은 다음과 같습니다 : -jq를 사용하여 모든 json 키를 소문자로 변환하십시오.

{ 
    "campaignId": "11067182", 
    "campaignName": "11067182", 
    "channelId": "%pxbid_universal_site_id=!;", 
    "channelName": "%pxbid_universal_site_id=!;", 
    "placementId": "%epid!", 
    "placementName": "%epid!", 
    "publisherId": "%esid!", 
    "publisherName": "%esid!", 
    "hitDate": "2017-03-23", 
    "lowRiskImpressions": "61485", 
    "lowRiskPct": "64.5295", 
    "moderateRiskImpressions": "1887", 
    "moderateRiskPct": "1.9804", 
    "highRiskImpressions": "43", 
    "highRiskPct": "0.0451", 
    "veryHighRiskImpressions": "860", 
    "veryHighRiskPct": "0.9026", 
    "totalRated": "95274", 
    "unrated": "8", 
    "unratedPct": "0.0084", 
    "visibleCount": "64283", 
    "pctVisible": "67.4660", 
    "invisibleCount": "30999", 
    "totalImpressions": "95282" 
} 
{ 
    "campaignId": "11067182", 
    "campaignName": "11067182", 
    "channelId": "%pxbid_universal_site_id=!;", 
    "channelName": "%pxbid_universal_site_id=!;", 
    "placementId": "%epid!", 
    "placementName": "%epid!", 
    "publisherId": "%esid!", 
    "publisherName": "%esid!", 
    "hitDate": "2017-03-22", 
    "lowRiskImpressions": "17929", 
    "lowRiskPct": "52.9379", 
    "moderateRiskImpressions": "1872", 
    "moderateRiskPct": "5.5273", 
    "highRiskImpressions": "9", 
    "highRiskPct": "0.0266", 
    "veryHighRiskImpressions": "139", 
    "veryHighRiskPct": "0.4104", 
    "totalRated": "33850", 
    "unrated": "18", 
    "unratedPct": "0.0531", 
    "visibleCount": "19967", 
    "pctVisible": "58.9554", 
    "invisibleCount": "13901", 
    "totalImpressions": "33868" 
} 

같은 배열을 재현하는 방법이 있지만, 키가 변환 된 jq를 사용하여 소문자로?

답변

2

ASCII 문자를 언급한다고 가정하면 짧은 대답은 '예'입니다.

with_entries(.key |= ascii_downcase) 

그러나, 당신은 배열을 언급 : 당신이 언급 특정한 경우

, 당신은이 필터를 사용할 수 있습니다. JSON 배열을 참조하는 경우 위의 내용을 수정해야합니다.

하나의 가능성은 walk/1을 사용하는 것이지만 jq에는 없을 수 있습니다. 데프

다음

그것이 어떻게 사용될 수 있는지 도보 JQ : 당신이 walk/1를 사용하려는 경우, 당신은을 위해 인터넷 검색에 의해 JQ의 정의를 찾을 수

walk(if type=="object" then with_entries(.key|=ascii_downcase) else . end) 
관련 문제