Heim  >  Artikel  >  Web-Frontend  >  Informationen dazu, wie Jackson den JSON-String analysiert

Informationen dazu, wie Jackson den JSON-String analysiert

亚连
亚连Original
2018-06-19 10:16:283053Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn