JSONPath를 사용하여 JSON 개체에서 단일 값 가져오기
나는 다음 JSON을 가지고 있고 나는 평원을 얻어야 한다.nameJSONPath를 사용한 값:
{
"single" : {
"id" : 1,
"name" : "Item name"
}
}
제가 사용한 표현은$.single.name항상 배열이 있습니다.
[ "Item name" ]
문자열 값 대신("Item name").
항상 배열이 있습니다.
그것은 일어나게 되어 있다.이 문서에서 볼 수 있듯이 '결과' 아래(거의 맨 아래)에서 다음을 수행합니다.
jsonPath의 반환값은 어레이이며 이는 유효한 JSON 구조이기도 합니다.따라서 결과 구조에 jsonPath를 다시 적용하거나 원하는 어레이 방법 중 하나를 사용하여 정렬할 수 있습니다.
따라서 기본적으로 어레이는 항상 반환됩니다.데이터가 다른 유형(예: 이 경우 문자열)으로 필요한 경우 사용자가 직접 변환해야 합니다.
JSONPath의 Java 실장을 사용하고 있었는데, 같은 문제가 발생하였습니다.저는 json 경로 문자열에 "[0]"을 추가하는 것이 효과적이었습니다.고객님의 경우:
$.single.name[0]
언어실현에 따라 다르다고 생각합니다.
예를 들어 nodejs에는 npm 모듈이 있습니다.https://www.npmjs.com/package/jsonpath
가치라는 방법이 있어 우리가 필요로 하는 것을 정확히 해낸다.
jp.value(obj, pathExpression[, newValue])
pathExpression과 일치하는 첫 번째 요소의 값을 반환합니다.newValue를 지정한 경우 첫 번째 일치 요소의 값을 설정하고 새 값을 반환합니다.
시도해보고 일했어!
이 오류가 발생한 경우
"식 $.yourfield에 대한 스칼라 값을 가져올 수 없습니다."
반환 유형 속성 값을 'auto-detect'가 아닌 'json'으로 변경하여 EvaluateJsonPath 프로세서를 구성하기만 하면 됩니다.
언급URL : https://stackoverflow.com/questions/23608050/getting-a-single-value-from-a-json-object-using-jsonpath
'programing' 카테고리의 다른 글
| Woocommerce - 제품 단일 페이지에서 SKU 가져오기 (0) | 2023.03.03 |
|---|---|
| 제품 ID별로 woocommerce 리뷰를 받아 템플릿으로 표시하고 싶다. (0) | 2023.03.03 |
| Azure 테이블 저장소에서 400 Bad Request가 반환됨 (0) | 2023.03.03 |
| reactjs this.refs vs document.getElementBy아이디 (0) | 2023.03.03 |
| Oracle SQL 이스케이프 문자('&'의 경우) (0) | 2023.03.03 |
