2011-03-24 50 views
1

我有一个客户端,使AJAX请求。 Java应用程序服务器创建一个具有java.lang.Double实例字段的对象列表。根据请求,这些实例字段中的某些字段在所有对象上可能为空。但是,当对象列表被转换(通过JSONArray.fromObject)时,空值被转换为零。JSON:java.lang.Double null转换为零;我应该如何处理客户?

因此,在客户端,这些显示为零值的用户。我应该如何处理这个问题,以便用户看不到这些值?我认为最好是阻止服务器首先发送零(也许不发送字段),但我不确定如何用JSON干净地完成此操作。不太有利的是,我可以在客户端弄清楚处理程序中要求的内容,并防止显示数据,除非客户端要求。在那种情况下,有没有办法从XMLHttpRequest对象获取HTTP请求参数数据?

非常感谢您的帮助。

+0

您使用什么库在服务器上生成JSON?像这样的声音是拆箱问题,其中Double被转换为double并且null被转换为0. – Ichorus 2011-03-24 22:13:53

回答

0

使用不同的JSON解析器(Crockford's是一种可能性)。这个零值看起来像一个bug。

+0

我会试一试。我目前使用net.sf.json-lib(组ID),json-lib(神器id)和2.3版本。我在哪里可以得到Crockford的解析器?谢谢。 – James 2011-03-24 22:04:03

+0

https://github.com/douglascrockford/JSON-js(你也可以在官方的json.org上找到它的链接,因为它是那里列出的两个JS解析器之一) – machineghost 2011-03-24 22:05:42

+0

对不起,但我可能会丢失一些东西。 Crockford的代码似乎不是Java到JSON库。我没有在JavaScript端解析JSON的问题。问题是将Java对象转换为JSON。 – James 2011-03-24 22:18:43

相关问题