ホームページ  >  記事  >  ウェブフロントエンド  >  ジャクソンが JSON 文字列を解析する方法について

ジャクソンが JSON 文字列を解析する方法について

亚连
亚连オリジナル
2018-06-19 10:16:283001ブラウズ

以下に、Jackson が JSON 文字列を解析する方法を紹介します。最初の大文字は自動的に小文字に変換されます。これは良い参考値であり、皆さんのお役に立てれば幸いです。

問題

投稿者が遭遇した問題は、エンティティクラスとテーブルで定義されている特定のフィールドが RMBPrice であり、最初の文字が大文字であることですが、SQL クエリによって取得される列名も大文字の RMBPrice になります。 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;
 }
}

またこう言いました:

強制変換するには、com.alibaba.fastjson.serializer.PascalNameFilter を使用して最初の文字を直接大文字に変換します。例: JSON.toJSONString(bean,new PascalNameFilter());

ただし、私は小文字に自動変換した後の名前を使用しているため、上記は試していません。大文字を保持したい場合は、自分でさらに検索する必要があります~~☺☺

上記はあなたのためにまとめたものです。

関連記事:

VueコンポーネントToastにディスプレイボックスエフェクトを実装する方法

webpackのルールパラメータ処理について

AngularJSで簡単な計算を実装する方法

Bootstrapモーダルボックスの送信についてバグ解決策

Webpack で実行されるエントリー関数の詳細な説明

Vue でのエントリー/退出アニメーションの実装方法

Node.js でのルーティングとミドルウェアの詳細な紹介

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。