JSONデータのspringmvcサポート

springmvc JSONのデータのサポート

JSON(JavaScript Object Notation)は軽量のデータ交換フォーマットです。JSON 完全に言語に依存しないテキスト形式は、これらの特性は作るJSON 理想的なデータ交換言語を。

JSON JavaScriptのデータ転送のセットは文字列として表されるオブジェクト、文字列を容易に機能の間を通過することができ、または非同期アプリケーション意志から文字列のWeb クライアント、サーバ側プログラムに。この文字列は少し奇妙に見えますが、 JavaScriptはそれを説明するのは簡単ですが、JSONは以上表すことができ、「名前/ 値のペアより複雑な構造を。例えば、リストは、オブジェクトの単純および複雑な配列だけでなく、キーと値を表すことができます。

JSON データ形式のインタフェース呼び出し、 HTMLのより一般的なページでは、 JSONの形式は、比較的容易に解決するには、使用することは非常に一般的であり、比較的簡単です。 SpringMVC でなく、ためにサポートして JSONの構文解析と変換データ

 

1 JSONは名前を表し / 値のペア。

その最も単純な形態では、これは次のことができる JSONを表し、「名前/ 値のペア:{「デービッド」「firstNameの」} より高い等価プレーンテキストよりも、この非常に基本的な例を、実際には名前/ 値のペアより多くのスペースを取る: firstNameの=ブレットは複数のときしかし、名前/ 値のペアがつなぎ合わせたときに、JSONはその値を反映します。まず第一に、あなたはより多く作成することができ、「名前/ のようなレコードを、:

{ "firstNameの": "ブレット"、 "lastNameの": "マクローリン"、 "電子メール": "AAAA"}

あるビューの文法のポイントから、名前/ 値ペアは大きな利点に比べて、この場合にはJSONを使いやすくするために、より読みやすいです。

例えば、これらの3つの値が同じレコードの一部であることは明らかであるこれらの値は、いくつかの接続を持っているようにブレース。

 

2 JSONを表す配列:

値のセットを表現するときに必要、 JSONは唯一の読みやすさを改善するだけでなく、複雑さを軽減することができます。たとえば、あなたが名前のリストを表現したいとします。ではXML 、開始タグと終了タグの多くの必要性は、一般的な名前場合は/ 値のペア、そして必要が独自のデータフォーマットを確立する、またはキー名を変更するPERSON1-firstNameのような形態を。

あなたが使用している場合は JSONを、単にレコードを複数の中括弧と一緒にグループ化されました:

{ "人": [

{ "firstNameの": "ブレット"、 "lastNameの": "マクローリン"、 "電子メール": "AAAA"}、

{ "firstNameの": "ジェイソン"、 "lastNameの": "ハンター"、 "電子メール": "BBBB"}、

{ "firstNameの": "はElliotte"、 "lastNameの": "ハロルド"、 "電子メール": "CCCC"}

]}

要求:クライアントが送信する JSONのデータ形式を、サーバ側JSONは、データオブジェクトのフォーマットタイプを変換し、戻りJSONは、表示のためにクライアント・データ・コンテンツ、データを-formatted。

すなわち:リクエストとリターンがされている JSONはデータを-formatted。

 

3 ビルドの開発環境

1. Mavenの依存関係が導入されています。

  <! - 对JSON的支持- > 
   <! - https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind - > 
    < 依存> 
      < groupIdを> com.fasterxml.jackson .core </ groupIdを> 
      < たartifactId >ジャクソンデータバインド</ たartifactId > 
      < バージョン> 2.9.9 </ バージョン> 
    </ 依存関係> 
    <! - https://mvnrepository.com/artifact/com.fasterxml.jackson。コア/ジャクソン・コア- > 
    < 依存>
      <groupId > com.fasterxml.jackson.core </ groupIdを> 
      < たartifactId >ジャクソンコア</ たartifactId > 
      < バージョン> 2.9.9 </ バージョン> 
    </ 依存関係> 
    <! - https://mvnrepository.com/artifact /com.fasterxml.jackson.core/jackson-annotations - > 
    < 依存> 
      < groupIdを> com.fasterxml.jackson.core </ groupIdを> 
      < たartifactId >ジャクソンの注釈</ たartifactId> 
      < バージョン> 2.9.9 </ バージョン> 
    </ 依存関係>

2. 追加 JSONのためspringmvcサポートを

< 豆の
         クラス= "org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" > 
        < プロパティ= "messageConverters" > 
            < リスト> 
                < refの= "jsonHttpMessageConverter"  /> 
            </ リスト> 
        </ プロパティ> 
    </ > 

    < ID = "jsonHttpMessageConverter" 
        クラス= "org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" > 
        <プロパティ= "supportedMediaTypes" > 
            < リスト> 
                < >アプリケーション/ JSON;のcharset = UTF-8 </ > 
            </ リスト> 
        </ プロパティ> 
    </ >


注:<MVC:注釈駆動型> </ MVC:注釈駆動型>かもしれ

コントローラレイヤコードを設定します:

@RequestBody 受信受信のJSON データ JSON形式のデータ自動包装モデル

findStuById(@RequestBodyスチューSTU)

@ResponseBody 背景モデルコンバートのJSON オブジェクトを、ページに戻ります。

  ( "/ findStuById2.do" @RequestMapping 公衆@ResponseBody学生findStuById2(){ 
        学生STU = stuService.FindStu(1 )。
        System.out.println(STU)。
        リターンSTU。
    }

3.テストを実行します。http:// localhost:8080 / findStuById2.do

 

 

 

 

 

 

 

公開された84元の記事 ウォンの賞賛0 ビュー709

おすすめ

転載: blog.csdn.net/qq_38405199/article/details/102865771