Im Folgenden werde ich Ihnen eine Methode vorstellen, mit der Jackson JSON-Strings analysieren kann. Der erste Großbuchstabe wird automatisch in Kleinbuchstaben umgewandelt. Ich hoffe, dass er für alle hilfreich ist.
Problem
Das Problem, auf das der Poster gestoßen ist, besteht darin, dass ein bestimmtes Feld, das in der Entitätsklasse und -tabelle definiert ist, RMBPrice ist, wobei der erste Buchstabe groß geschrieben wird . Der von SQL abgefragte Spaltenname ist ebenfalls RMBPrice in Großbuchstaben, aber wenn die Datentabellen von jquery zum Initialisieren der Spalte verwendet werden, tritt ein Fehler auf.
Der Code für diese Zeile lautet wie folgt:
{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},
Dies wird beim Öffnen der Seite angezeigt. Sehen Sie sich den von der Browser-Aufrufschnittstelle zurückgegebenen Wert an:
ist eine kleingeschriebene RMB-Preisanalyse
Die Schnittstelle gibt ein @ResponseBody-Objekt zurück. Der Rückgabewert der Schnittstelle ist vollständig in Großbuchstaben geschrieben, sodass dies nur bei der Konvertierung in eine JSON-Frage möglich ist .
Der erste Buchstabe von Baidu JSON wird groß geschrieben und Artikel werden automatisch in Kleinbuchstaben umgewandelt.
Nach dem Testen ist es wahr, dass die aktuellen wenigen Buchstaben, die alle in Großbuchstaben geschrieben sind, in Kleinbuchstaben umgewandelt werden, bis sie keine Großbuchstaben mehr sind. Wenn nach dem Kleinbuchstaben ein Großbuchstabe steht, bleibt dieser in Großbuchstaben.
Zum Beispiel: RRRddRRR wird zu rrrddRRR.
Lösung
Ich ändere die Codezeile direkt in js und ändere sie Nach der Abfrage:
{"name": "rmbprice", "data": "rmbprice", "className": "text-center", "render": formatRMBPrice},
müssen Sie Anmerkungen hinzufügen, wenn Sie Großbuchstaben beibehalten möchten.
Zum Beispiel verwendet Jackson:
Beim Definieren von Feldern in Entitätsklassen:
@JsonProperty("ActionCode") private String ActionCode = "";
fastjson verwendet:
@JSONField(name = "Name") Und dieses Tag sollte vor der get-Methode markiert werden:
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; } }
Auch gesagt:
Konvertierung erzwingen, verwenden Sie com.alibaba.fastjson.serializer.PascalNameFilter, um den ersten Buchstaben direkt in Großbuchstaben umzuwandeln. Zum Beispiel: JSON.toJSONString(bean,new PascalNameFilter());
Allerdings habe ich das Obige nicht ausprobiert, da ich den Namen nach der automatischen Konvertierung in Kleinbuchstaben verwendet habe. Wenn Sie die Großschreibung beibehalten möchten, müssen Sie selbst mehr suchen~~☺☺
Das oben Gesagte habe ich für Sie zusammengestellt. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein.
Verwandte Artikel:
So erzielen Sie den Display-Box-Effekt in der Vue-Komponente Toast
Über die Regelparameterverarbeitung im Webpack
So implementieren Sie einfache Berechnungen in AngularJS
Lösung für den Bootstrap-Modal-Box-Übermittlungsfehler
Ausführlich Interpretation der im Webpack ausgeführten Eintrittsfunktion
So implementieren Sie die Eintritts-/Verlassensanimation in Vue
Informationen zum Routing in node.js, Mitte Ausführlich Einführung des Artikels
Das obige ist der detaillierte Inhalt vonInformationen dazu, wie Jackson den JSON-String analysiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!