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

Metodo per convertire automaticamente la prima lettera in minuscolo durante la解析 di una stringa JSON con Jackson

Problema

Il problema che il proprietario ha incontrato è che in una classe di entità e in una tabella definita un campo è RMBPrice, con la lettera iniziale maiuscola, il nome della colonna queryata in sql è anche maiuscola RMBPrice, ma quando inizializzo la colonna con jquery datatables, si verifica un errore.

Il codice di quella riga è il seguente:

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

Apri la pagina e vedrai questo. Visualizza il valore di ritorno dell'interfaccia chiamata dal browser:

È minuscola rmbprice

Analisi

L'interfaccia di ritorno è un oggetto @ResponseBody, nel codice faccio un breakpoint, fino a quando il valore di ritorno dell'interfaccia è maiuscolo, quindi può essere solo un problema durante la conversione in json.

Baidu json, la lettera iniziale maiuscola, è apparso automaticamente l'articolo di conversione in minuscolo.

Dopo il test, è vero, le prime alcune sono lettere maiuscole, verranno convertite in minuscolo fino a quando non sono maiuscole, se c'è una lettera maiuscola dopo minuscola, viene mantenuta maiuscola.

Ad esempio: RRRddRRR diventerà rrrddRRR.

Soluzione

Ho modificato direttamente quella riga di codice in js, cambiandola in:

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

Dopo aver cercato, per mantenere maiuscole è necessario aggiungere l'annotazione.

Ad esempio, l'uso di jackson:

Quando si definisce un campo in una classe di entità:

@JsonProperty("ActionCode") 
 private String ActionCode = ""; 

Utilizzo di fastjson:

@JSONField(name = "Name") E 'questo segno dovrebbe essere applicato prima del metodo 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;
 }
} 

Si dice anche che:

Forza la conversione, usa com.alibaba.fastjson.serializer.PascalNameFilter per convertire direttamente la prima lettera in maiuscolo. Ad esempio: JSON.toJSONString(bean, new PascalNameFilter());

Non ho provato nulla di sopra perché ho adottato il nome convertito automaticamente in minuscolo. Se vuoi mantenere maiuscolo, dovrai cercare da solo~~☺☺

Il metodo che condivido con voi oggi per analizzare una stringa JSON con Jackson, che la prima lettera viene automaticamente convertita in minuscolo, è tutto il contenuto che condivido. Spero che questo possa fornire una riferimento per voi, e spero che continuiate a sostenere e applaudire il tutorial.

Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta ai rispettivi autori, il contenuto è stato contribuito e caricato dagli utenti di Internet, questo sito non possiede il diritto di proprietà, non è stato elaborato manualmente e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, è possibile inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.

Ti potrebbe interessare