JSON 쿼리 언어


11

매우 큰 JSON 메시지를 반환하는 서버가 있으며 클라이언트 응용 프로그램은이 응답의 일부에만 의존합니다. 클라이언트 애플리케이션은 JSON 메시지에 "xyz"특성이 있는지 확인하고 결과에 따라 특정 유스 케이스를 실행해야합니다.

이 요구 사항을 위해 전체 JSON 메시지를 객체로 변환하면 약간 비싸 므로이 질문에 답하십시오.

XML과 같은 표준 JSON 쿼리 언어가 있습니까? 그렇다면 java 에서이 쿼리 언어의 구현을 가장 잘 아는 것이 무엇입니까?

참고 : 서버 측에서 새 서비스를 변경하거나 추가하는 것은 옵션이 아닙니다.


자바 스크립트에서 응답이 올바른 헤더 (application / json)와 함께 전송되면 JSON 응답은 자바 스크립트 객체입니다. 그게 당신이 요구하는 것입니까? 나는 당신의 질문에서 확실하지 않습니다.
Florian Margaine 2018

@Florian 동의합니다. 내 질문을 업데이트하고 특정 Java로 만들겠습니다.
농장

그런 다음 json.org/java를 사용해 보셨습니까 ? :-)
Florian Margaine

나는 똑같은 것을 궁금해했다. 내가 본 JSON 용 모든 Java 라이브러리는 엄청나게 부피가 큰 것으로 보인다 . JSON.getString(json_string, 'foo.22.bar')(문자열을 포함하는 속성 "foo"에있는 목록의 22 요소에있는 속성 "bar") 의 행을 따라 아무것도
없는가?

또는 매번 구문 분석을 피하기 JSON baz = new JSON(json_string); baz.getString('foo.22.bar');위해 예를 들어
Izkata

답변:


6

왜 자바 스크립트를 사용하지 않습니까? (JSON은 결국 Javascript 객체 표기법입니다). 그런 다음 JSON을 구문 분석하거나 조작 할 필요가 없습니다.

편집 의 유무 a를 모양 http://json.org/java

이 요구 사항을 위해 전체 JSON 메시지를 객체로 변환하면 약간 비싸 므로이 질문에 답하십시오.

그렇지 않습니다. 객체를 직렬화 해제하는 것이 저렴합니다 (벤치 테스트 직접). 외부 API와의 대화는 훨씬 비쌉니다. 약간 더 빠를 수있는 문자열을 직접 조작 할 수 있지만 버그가 발생할 위험이 있으며 확장 성을 줄이고 가독성을 줄입니다. 높은 비용.


내 질문을 업데이트하고 Java 전용으로 만들었습니다.
Farm

클라이언트 응용 프로그램이 LWUIT 만 지원하는 Headunit에서 실행되므로 javascript를 사용하는 것은 옵션이 아닙니다.
Farm

2

"측정, 추측하지 마십시오". 예. 개체 직렬화 및 역 직렬화는 이론상 비용이 많이 들지만 응용 프로그램의 성능 목표는 무엇입니까? 객체 (직렬화) 직렬화가 성능을 허용 할 수없는 수준으로 끌어 올리지 않으면 걱정하지 마십시오 :-). 물론 핵심은 성능 경계가 무엇인지 (예 : 2 초 내에 사용자에 대한 응답 시간) 알고 요청 / 응답주기의 각 부분을 측정하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.