0

メソッドを使用しているため、サーバー側は Nan 値の JSON オブジェクトを正常に生成しますserializeSpecialFloatingPointValues()。クライアント側の Nan が原因でエラーが発生しています。jQuery のサーバー側で利用できるものと同様の Nan を処理するために、クライアント側に含めることができるオプションはありますか?

サーバ側

サーバー側 Gson が JSON オブジェクトを正常に生成

GsonBuilder gsonBuilder = new GsonBuilder();  
gsonBuilder.serializeSpecialFloatingPointValues();  
Gson gson = gsonBuilder.setPrettyPrinting().create();  
String jsonString = gson.toJson(Object, HashMap.class);  
response.getWriter().write(jsonString);  
response.getWriter().flush();  

サーバーから生成された出力

{   
      "name": "ABC",  
      "data1": 511,  
      "data2": NaN  
}   

クライアント側

 $.ajax({
     url: "AbcServlet",
     data: {
         input: abc,
     },
     dataType: "json",
     type: "GET",
     async: false,
     success: function (parsed_json) {
         evaluate(parsed_json);
     },
     error: function (request, status, error) {
         alert("Error " + error);
     }
 });

注: JSON 応答出力の Nan が数値に置き換えられた場合、クライアント側は完全に機能します。

私の質問は、com.google.gson.Gsonに Nan を処理または生成するオプションがある場合、クライアント側でもそれを処理するオプションが必要です。

4

0 に答える 0