이번에는 Jackson이 json 문자열을 구문 분석할 때 첫 글자를 대문자와 소문자로 변환하는 방법을 보여 드리겠습니다. json 문자열을 구문 분석하기 위해 jackson을 실행할 때 주의 사항은 무엇입니까? 보세요.
질문 포스터에서 직면한 문제는 엔터티 클래스와 테이블에 정의된 특정 필드가 RMBPrice이고 첫 글자가 대문자로 표시된다는 것입니다. sql
query에서 반환된 열 이름도 RMBPrice로 표시되지만 jquery의 데이터 테이블을 사용하는 경우 열을 초기화했는데 문제가 발생했습니다. 해당 코드 줄은 다음과 같습니다:
{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},
페이지를 열면 이런 내용이 뜹니다. 인터페이스
를 호출하는 브라우저에서 반환된 값이 소문자
의 rmbprice인지 확인하세요.
분석 인터페이스는 코드의 중단점부터 인터페이스의 반환값이 모두 대문자이므로 json으로 변환할 때만 문제가 발생할 수 있습니다.
Baidu json의 첫 글자를 대문자로 하면 기사가 자동으로 소문자로 변환됩니다.
테스트 후에는 모두 대문자인 현재 몇 글자가 더 이상 대문자가 아닐 때까지 소문자로 변환되는 것이 사실입니다. 소문자 뒤에 대문자가 있으면 대문자로 유지됩니다.
예: RRRddRRR은 rrrddRRR이 됩니다.
솔루션 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; } }
또한 다음과 같이 말했습니다:
강제 변환, com.alibaba.fastjson.serializer.PascalNameFilter를 사용하여 첫 글자를 대문자로 직접 변환하세요. 예: JSON.toJSONString(bean,new PascalNameFilter());이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료:
JS에서 객체 값을 병합하는 방법Angular는 테이블을 정렬하여 정렬합니다위 내용은 Jackson이 json 문자열을 구문 분석할 때 첫 번째 문자의 대소문자 변환을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!