SpringMVC の JSON データ処理に関するチュートリアル

Y2J
リリース: 2017-05-16 09:17:49
オリジナル
1383 人が閲覧しました

この記事では、springMVC の json データを操作する方法の詳細な説明を主に紹介します。編集者が非常に優れていると考えたので、参考として共有します。編集者をフォローして見てみましょう

フロントデスクコード:

function channel(){ //先获取选中的值 var channelId = $("#channelId option:selected").val(); //来判断发送的链接 if(channelId ==2){ **需要注意地方 start** var schoolBannerInfo = { "img": channelId, "title": channelId, "info": channelId, "channelId": channelId }; **需要注意地方 end** $.ajax({ url:"ceshijson", type:"post", dataType:'json', **需要注意地方 start** contentType:'application/json;charset=utf-8', data:JSON.stringify(schoolBannerInfo), **需要注意地方 end** success:function(data){ alert(data); }, error:function(XMLHttpRequest, textStatus, errorThrown){ alert("Error") alert(XMLHttpRequest.status); alert(XMLHttpRequest.readyState); alert(textStatus); } }); } }
ログイン後にコピー

太字の部分は注意が必要な部分です。

contentType:'application/json;charset=utf-8' は省略できません。省略しないと、415 エラーが報告されます。

結局のところ、私が送信しているのはjsonstringなので、来るデータがjsonデータであることをサーバーに伝える必要があります。

JSON.stringify() はJavaScript オブジェクトを json 文字列に変換します

JSON.parse(jsonstr) は json 文字列を JavaScript オブジェクトに変換します

追加知識: json は実際には JavaScript のサブセットです。

参照アドレス: www.jb51.net/article/35090.htm

バックエンドコード:

pojo class:

public class SchoolBannerInfo { private Integer id; private Date createTime; private String img; private String title; private String info; private Integer seq; private Integer schoolId; private String type; private boolean enable; private String link; private String channelId; }
ログイン後にコピー

getメソッドとsetメソッドは自分で生成したものなので、ここには掲載しません。

コントローラー内のメソッド:

@RequestMapping(value="/ceshijson",produces="application/json;charset=UTF-8") @ResponseBody public SchoolBannerInfo ceshijson(@RequestBody SchoolBannerInfo schoolBannerInfo) throws IOException{ // Map map = new HashMap(); // map.put("channelId", channelId); // ObjectMapper mapper = new ObjectMapper(); // channelId = mapper.writeValueAsString(map); return schoolBannerInfo; }
ログイン後にコピー

注:

1.フロントデスクから送信されるデータはJSONデータであるため、このアノテーションを使用してこれらのデータを受け取る方法を解析する必要があります。 pojo クラスのオブジェクトに。

2. jsonデータも返したいので。したがって、このアノテーション @ResponseBody は Java オブジェクトを JSON 文字列に変換するために必要です

3. @RequestBody を使用する場合、フロント デスクから渡されるデータは JSON 文字列である必要があります。 jsonオブジェクトの場合はエラーとなります。したがって、フロントエンドのデータ部分に data:{"channelId":2} と記述すると、これは機能しません。 {"channelId":2} は json オブジェクトであるため、外側のレイヤーに引用符 '{"channelId":2}' を追加する必要があります。

4. メソッドの戻り値が String などの単純な型の場合はどうするか!

【関連する推奨事項】

1.特別な推奨事項:「php Programmer Toolbox」V0.1 バージョンのダウンロード

2.Java 入門レベルの入門ビデオチュートリアル

以上がSpringMVC の JSON データ処理に関するチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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