ジャクソンがJSON文字列を解析するときに大文字と小文字を自動的に変換する方法

php中世界最好的语言
リリース: 2018-03-15 14:30:39
オリジナル
3918 人が閲覧しました

今回は、Jackson が JSON 文字列を解析するときに自動的に大文字と小文字を変換する方法について説明します。一見。

問題投稿者が遭遇した問題は、エンティティクラスとテーブルで定義されている特定のフィールドが RMBPrice であり、sql

クエリ

によって返される列名も最初の文字が大文字であるということです。大文字ですが、を使用しています。jqueryのデータテーブルが列を初期化するときにエラーが発生しました。 そのコード行は次のとおりです:

{"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render": formatRMBPrice},
ログイン後にコピー

ページを開くと、これが表示されます。

インターフェースを呼び出すブラウザによって返された値を表示します:

は小文字のrmbpriceです

分析インターフェースは@ResponseBodyオブジェクトを返し、コード内のポイントを中断します。インターフェイスの戻り値はすべて大文字なので、JSONに変換するときだけ問題があるのか​​もしれません。

Baidu json の最初の文字が大文字の場合、記事は自動的に小文字に変換されます。

テストの結果、現在のすべて大文字のいくつかの文字は、大文字でなくなるまで小文字に変換されます。小文字の後に大文字がある場合は、大文字のままになります。

例: RRRddRRR は rrrddRRR になります。

解決策js のコード行を直接変更して次のように変更します:

{"name": "rmbprice", "data": "rmbprice", "className": "text-center", "render": formatRMBPrice},
ログイン後にコピー

クエリの後、大文字を維持したい場合は、次のようにする必要があります。注釈を追加します。

たとえば、jackson は次を使用します:

エンティティクラスでフィールドを定義する場合:

@JsonProperty("ActionCode") 
 private String ActionCode = "";
ログイン後にコピー

fastjson は次を使用します:

@JSONField(name = "Name") このタグは 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;
 }
}
ログイン後にコピー

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

バックグラウンド データの Ajax リクエストが成功した後に反映されない場合の対処方法


jQuery EasyUI タブ パネルのタブの使用

以上がジャクソンがJSON文字列を解析するときに大文字と小文字を自動的に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート