0

当我使用serializeSpecialFloatingPointValues()方法时,服务器端成功地为 Nan 值生成 JSON 对象。由于客户端的 Nan,我收到错误消息。是否有一个选项可以包含在客户端来处理 Nan,类似于 jQuery 中服务器端可用的选项?

服务器端

服务端 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