今回は、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 = "";
@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 サイトの他の関連記事を参照してください。