使用jQuery在客户端处理Double.Nan?

时间:2012-10-26 19:33:59

标签: javascript jquery json

当我使用serializeSpecialFloatingPointValues()方法时,服务器端成功为Nan值生成JSON对象。由于客户端的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,那么在客户端也必须有一些选项来处理它。

0 个答案:

没有答案