armv5tejl 아키텍처를 갖춘 IP 카메라가 있습니다. 거기에 busybox가 있습니다. 컬에서 JSON 응답을 구문 분석할 수 있어야 합니다. 문제는
jq, jshon, jsawk와 같은 프로그램이 없다는 것입니다.
이 아키텍처에는 설치하기가 어렵습니다. JSON 개체와 JSON 배열을 구문 분석할 수 있는 일부 셸 스크립트를 찾아야 합니다.
이 스크립트를 찾을 수 있으면 표시해 주세요.
답변1
답변2
Grochmar가 말했듯이. 꽤 좋은 jq가 있지만 컴파일할 수 없습니다.
우리는 또한 사용할 수 있습니다JSON.awkjson을 구문 분석합니다(매우 편리하지는 않지만 실행 가능). 예:
echo -e jsonFile | awk -f JSON.awk
필요한 키와 값을 얻으려면 출력을 grep할 수 있습니다. 예(Google 드라이브 폴더를 사용하여 json 응답을 구문 분석하여 폴더의 모든 ID 찾기):
echo -e jsonResponse | awk -f JSON.awk | egrep '\["items",[0-9]+,"id"\]'
답변3
물론 2023년 현재(외부 프로그램을 설치할 수 없는 경우) busybox에서 json을 구문 분석하는 가장 좋은 방법은 다음 기능을 사용하는 것입니다.JSON.sh
컬이 크고 복잡한 json(80kb 이상)을 반환하면 구문 분석이 매우 느리지만 더 빠르게 만들기 위해 노력하고 있습니다... 관심이 있으시면 github.com 프로젝트를 따르세요.
이 게시물은 수년이 지났기 때문에 2023년에 오랜 검색과 많은 테스트 끝에 더 나은 bash 전용 json 구문 분석 라이브러리(거의 모든 이상한 사례를 처리할 수 있음)를 찾지 못했음을 확인하기 위해 오늘 게시합니다. 문자, 문자열... 컬의 응답에서 이를 만날 수 있습니다. 이는 json 형식의 문자열입니다. 따라서 거의 모든 경우에 작동합니다.