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