English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

jackson이 json 문자열을 해석할 때, 첫 글자 대문자가 자동으로 소문자로 변환되는 방법

문제

楼主이 만난 문제는, 엔티티 클래스와 테이블에서 정의된 특정 필드가 RMBPrice로 대문자로 정의되었으며, sql에서 검색된 열 이름도 대문자의 RMBPrice입니다. 그러나 jquery의 datatables를 사용하여 열을 초기화할 때 오류가 발생합니다.

그 줄의 코드는 다음과 같습니다:

{"name": "RMBPrice", "data": "RMBPrice", "className": "text-, "center", "render": formatRMBPrice},

페이지를 엽니다. 그런 다음 이를 표시합니다. 브라우저에서 인터페이스 호출 결과를 확인하십시오:

소문자의 rmbprice

분석

인터페이스는 @ResponseBody 객체를 반환하며, 코드에서 브레이크 포인트를 설정하여 인터페이스의 반환 값이 모두 대문자인지 확인하면, JSON으로 변환할 때 문제가 발생했을 가능성이 높습니다.

백도우 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());

그러나 저는 시도하지 않았습니다. 왜냐하면 저는 이름을 자동으로 소문자로 변환한 후에 사용했습니다. 대문자를 유지하고 싶다면, 여러분이 더 많이 찾아보셔야 합니다.9786;;9786;

이 소프트웨어는 jackson이 JSON 문자열을 분석할 때, 첫 글자가 대문자일 때 자동으로 소문자로 변환되는 방법이 저가 공유한 모든 내용입니다. 많은 참고가 되길 바라며, 많은 지지와 환호를 부탁드립니다.

선언: 본 내용은 인터넷에서 가져왔으며, 저작권자에게 속하며, 인터넷 사용자가 자발적으로 기여하고 업로드한 내용입니다. 이 웹사이트는 소유권을 가지지 않으며, 인공 편집을 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 문제가 있는 내용을 발견하셨다면, notice#w로 이메일을 보내 주시기 바랍니다.3codebox.com(이메일을 보내는 경우, #을 @으로 변경하여 신고해 주시고, 관련 증거를 제공해 주시면, 사이트는 즉시 의심스러운 저작권 내용을 삭제할 것입니다.

좋아하는 것