1. ホーム
  2. ジャワ

エラーです。HttpMessageNotReadableException。JSON のパースエラーです。Unrecognized token 'name': was expecting 'null'.

2022-02-26 18:44:04

フロントエンドのパススピードのデータプロンプトエラー内のメッセージメッセージ

コンソールに次のようなメッセージが表示されます: フォアグラウンドからjsonデータを取得できませんでした

2019-09-10 23:01:01.743 WARN 10804 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http. converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'name': was expecting 'null', 'true', 'false' or NaN; nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting 'null', 'true', 'false' or NaN
 at [Source: (PushbackInputStream); line: 1, column: 6]]
2019-09-10 23:01:07.803 WARN 10804 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http. converter.HttpMessageNotReadableException: JSON parse error: Unrecognized token 'name': was expecting 'null', 'true', 'false' or NaN; nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'name': was expecting 'null', 'true', 'false' or NaN
 at [Source: (PushbackInputStream); line: 1, column: 6]]

 スクリーンショット画像の下

コントロールは、前景データが変更コントローラにマッピングされたことを示すメッセージを表示しますが、目的のパラメータを取得できませんでした。

            $.ajax({
                url: url,
                type: "POST",
                data: json,
                dataType: "json",
                async: false,
                contentType: 'application/json;charset=utf-8',
                success: function (result) {

                    var newData = JSON.stringify(result); //convert the json object to a string
                    newData = eval("(" + newData + ")"); //parse the json
                    alert("message:" + newData.msg);

                },
                error: function () {
                    alert("Failed to submit request! ");
                }
            });

dataType: "json"で入力されたデータをjson文字列に変換します。

data: JSON.stringify(json),

バックエンドは、コントローラを @RequestBody JSONObject json として受け取ります。

@RequestMapping(value = "/register", method = POST)
    public void register(@RequestBody JSONObject json,HttpServletResponse response) throws IOException {
        System.out.println(json.toString());
}