이번에는 Jackson이 json 문자열을 파싱할 때 자동 대소문자 변환 방법을 알려드리겠습니다. Jackson이 json 문자열을 파싱할 때 자동으로 대문자와 소문자를 변환하는 주의사항은 무엇입니까? 봐.
Problem
포스터에서 발생한 문제는 엔터티 클래스와 테이블에 정의된 특정 필드가 RMBPrice이고 첫 글자가 대문자라는 것입니다. sqlquery에서 반환된 열 이름도 RMBPrice입니다. 대문자로 작성했지만 를 사용하여 jquery의 데이터 테이블이 열을 초기화할 때 오류가 발생했습니다.
해당 코드 줄은 다음과 같습니다:
{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},
페이지를 열면 이것이 표시됩니다. interface를 호출하는 브라우저에서 반환된 값을 확인하세요.
은 소문자로 된 rmbprice입니다.
분석
인터페이스가 @ResponseBody 객체를 반환합니다. 인터페이스의 반환 값은 모두 대문자이므로 json으로 변환할 때만 문제가 발생할 수 있습니다.
Baidu json의 첫 글자를 대문자로 쓰면 기사가 자동으로 소문자로 변환됩니다.
테스트 결과, 현재 모두 대문자인 몇 글자가 더 이상 대문자가 아닐 때까지 소문자로 변환되고, 소문자 뒤에 대문자가 있으면 대문자로 유지되는 것이 사실입니다.
예: RRRddRRR은 rrrddRRR이 됩니다.
Solution
js의 코드 줄을 직접 수정하여 다음과 같이 변경합니다.
{"name": "rmbprice", "data": "rmbprice", "className": "text-center", "render": formatRMBPrice},
쿼리 후 대문자를 유지하려면 다음을 수행해야 합니다. 주석을 추가합니다.
예를 들어 jackson은 다음을 사용합니다.
엔티티 클래스에서 필드를 정의할 때:
@JsonProperty("ActionCode") private String ActionCode = "";
fastjson은 다음을 사용합니다.
@JSONField(name = "Name") 이 태그는 get 메서드 앞에 표시되어야 합니다.
public class User { private String name; private int age; @JSONField(name = "Name") public String getName(){ return name; } public void setName(String name){ this.name = name; } @JSONField(name = "Age") public int getAge(){ return age; } public void setAge(int age){ this.age= age; } }
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 믿습니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료:
백그라운드 데이터에 대한 Ajax 요청이 성공한 후 반영되지 않는 문제를 처리하는 방법
위 내용은 jackson이 json 문자열을 구문 분석할 때 자동으로 대문자와 소문자를 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!