Maison  >  Article  >  interface Web  >  Comment convertir automatiquement les majuscules et les minuscules lorsque Jackson analyse la chaîne JSON

Comment convertir automatiquement les majuscules et les minuscules lorsque Jackson analyse la chaîne JSON

php中世界最好的语言
php中世界最好的语言original
2018-03-15 14:30:393907parcourir

Cette fois, je vais vous présenter la méthode de conversion automatique de casse lorsque Jackson analyse une chaîne json. Quelles sont les précautions pour la conversion automatique de casse lorsque Jackson analyse une chaîne json. Ce qui suit est un cas pratique. Jetons un coup d'oeil une fois.

Problème

Le problème rencontré par l'affiche est qu'un certain champ défini dans la classe et la table d'entité est RMBPrice, avec la première lettre en majuscule . Le nom de la colonne renvoyé par sql query est également RMBPrice en majuscules, mais lors de l'utilisation des tables de données de jquery pour initialiser la colonne, une erreur se produit. Le code de cette ligne de

est le suivant :

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

Lorsque vous ouvrez la page, ceci sera affiché. Vérifiez la valeur renvoyée par le navigateur appelant l'interface  :

est en minuscule rmbprice

Analyse

L'interface renvoie un objet @ResponseBody À partir du point d'arrêt dans le code, la valeur de retour à l'interface est entièrement en majuscules, elle ne peut donc être que. conversion Un problème est survenu lors de l'accès à json.

La première lettre de Baidu json est en majuscule et les articles seront automatiquement convertis en minuscules.

Après les tests, il est vrai que les quelques lettres actuelles qui sont toutes en majuscules seront converties en minuscules jusqu'à ce qu'elles ne soient plus majuscules. S'il y a une majuscule après la minuscule, elle restera en majuscule.

Par exemple : RRRddRRR deviendra rrrddRRR.

Solution

Je modifie directement la ligne de code en js et change Après avoir interrogé :

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

, si vous souhaitez conserver les majuscules, vous devez ajouter des annotations.

Par exemple, Jackson utilise :

Lors de la définition de champs dans les classes d'entités :

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

fastjson utilise :

@JSONField(name = « Name ») Et cette balise doit être marquée avant la méthode 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;
 }
}

Je crois que vous avez lisez le cas dans cet article Après avoir maîtrisé la méthode, veuillez prêter attention aux autres articles connexes sur le site Web php chinois pour un contenu plus passionnant !

Lecture recommandée :

Comment gérer l'absence de réflexion après une demande ajax réussie de données d'arrière-plan

panneau d'onglets jQuery EasyUI les onglets utilisent

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn