json에서 가져온 결과 세트가 매우 깁니다. json의 각 데이터 행은 매우 구체적인 "열"순서를 반환하며,이를 신속하게 반복하고 싶습니다. 각 데이터 조각을 처리하기 위해 키를 확인/일치시키는 오버 헤드를 피하는 것이 좋습니다. 불행하게도 scala.util.parsing.json은 이러한 열을 Map 객체에 넣습니다. 반복되는 순서는 Map을 반복 할 때 무작위이며 반드시 JSON 결과의 열 순서를 미러링하지는 않습니다. 파서가 JSON 열의 순서를 적용하도록 만드는 방법이 있습니까? 한 가지 생각은 파서에게 LinkedHashMap 또는 ListMap을 사용하여 객체를 생성하도록 지시하는 방법이있는 경우입니다. 수업을 연장하거나 다른 특성을 추가함으로써 이것이 가능한가? 다른 대안이 있습니까?JSON 결과의 순서 적용
답변
나는 json4s와 같은 것을 시도해 볼 것을 고려할 것이다.
JObject 유형이 필드를 정렬 한 것처럼 보입니다. 당신이 주문을해야하는 이유 그렇지 않으면
https://github.com/json4s/json4s
물어 것인가? 키로 map.get을 항상 사용할 수 있습니다.
json4s는 모든 필드가 문자열로 구문 분석되도록하는 방법을 찾아야하지만 유망한 것처럼 보입니다 (예 : 긴 문자열이 숫자로 해석되지 않음) –
매끄러운 DB 프레임 워크를 사용하고 있습니다. 준비된 진술에이 값들을 덤핑하고있다. 준비된 문을 채우는 것은 숫자 색인을 사용하여 각 변수 매핑을 처리합니다. 각각의 인덱스에 대한 각 키 이름에 대한 룩업 테이블을 만들 수는 있지만 이러한 테이블을 관리하는 오버 헤드와 각 결과 행에서 수행 할 수있는 처리 능력을 다루지는 않을 것입니다. –
문자열 필드는 json에서 큰 따옴표로 묶습니다. json4s는 정확한 유형을 돌려 줄 것입니다. – JasonG
키/값 쌍의 순서에 의존하지 않는 것이 좋습니다.
목적은 이름/값 쌍들의 순서화 된 집합이다 JSON 개체 defined가 같다.
주문을 신뢰하면 어려운 버그와 코드 비 호환성이 발생할 가능성이 큽니다. 속도에 대한 거래 정확성은 항상 나쁜 거래입니다.
대신에 빠르고 정확한 구문 분석기를 찾는 것이 좋습니다. 전에 Jackson을 사용했는데, 이는 매우 빠르며 Scala에서도 잘 사용할 수 있습니다. annotate 당신의 임의의 클래스이고 Jackson은 JSON을 클래스의 인스턴스로 구문 분석합니다. 그런 다음 이러한 인스턴스를 네이티브 Java/Scala 객체로 처리 할 수 있습니다.이 객체는 매우 빠르고 강력합니다.
잭슨 (Jackson)은 자바 기반 라이브러리입니다. 놀이에 사용 된 Jerkson이라는 래퍼가 있습니다! 한동안 프레임 워크. 프로젝트가 포기됨에 따라 다른 도서관이 인기를 얻고 있습니다. Json4s는 Jackson이 지원할 수 있으므로 scala에서 사용하는 것이 좋습니다. – JasonG
jackson에는 자바 라이브러리가 스칼라 객체와 함께 작동하도록하는 스칼라 모듈도 있습니다. -> https://github.com/FasterXML/jackson-module-scala –
- 1. "그룹 기준"결과의 "순서"?
- 2. REST 결과의 JSON 템플릿
- 3. JSON 결과의 제한 수
- 4. MySQL 결과의 JSON 객체
- 5. 정상/적용 순서 감소
- 6. CSS 파일 적용 순서
- 7. 코드 실행 순서 적용
- 8. 레일 결과의 열 순서 ActiveRecord find_by_sql call
- 9. Sunspot을 사용하여 solr 결과의 동적 순서 지정
- 10. mysql/php 검색 결과의 더 나은 순서
- 11. json 쿼리 결과의 서식 지정
- 12. 검색 결과의 일부에만 Solr 필터 쿼리 적용
- 13. 그룹 적용 함수 내에서의 순서
- 14. 하스켈, 컴파일러, 토큰 순서 적용?
- 15. Savon에서 XML 구조 순서 적용
- 16. Python JSON 입력 순서
- 17. json 배열의 iphone 순서
- 18. 개체의 순서 json 파일
- 19. 빈 JSON 스키마 적용
- 20. ARC 용 JSON 적용
- 21. 필터링하는 방법 자바 서블릿에서 JSON 결과의 레코드
- 22. DocumentCloud에서 JSON 검색 결과의 스타일링 시작
- 23. JSON 결과의 유럽 문자 서식 지정
- 24. json 쿼리 결과의 일부를 powershell에 변수로 저장합니다.
- 25. 밴드 패스 필터링, 정규화, 세분화 적용 순서
- 26. 4 자리 입력 및 변경 순서 적용
- 27. mergql에서 별개의 병합 선택 결과 각 결과의 순서 유지
- 28. 추가 열로 mySQL에 결과의 숫자 인덱스 순서 표시
- 29. 외부 순위에 따라 SQLAlchemy 쿼리 결과의 순서 변경
- 30. JSON 데이터에 애니메이션을 적용 하시겠습니까?
질문에 "오버 헤드를 피하기 위해 선호합니다"라는 단어가 포함되어 있으면 'scala.util.parsing.json'을 피하십시오. –