2012-02-03 62 views
0

我正在使用GSON解析Java bean并将JSON字符串传递给某些javascript。有一个包含敏感数据的项目,它不是一个重大的安全风险,但是我不希望在浏览器中看到任何人使用萤火虫等工具。这个特定的变量,我不需要在JavaScript代码中使用。Gson JSON从Bean解析字符串。不要在字符串中包含特定变量

有没有一种方法可以从bean解析JSON字符串时跳过它,而不是将它包含在字符串中。

也许我需要创建JSON字符串,然后在发回客户端之前将其删除?

+0

让我知道如果我以前的答案不适合你。看到这里:http://stackoverflow.com/a/4803346/298455 – Nishant 2012-02-03 05:36:01

回答

0

我不太了解GSON,所以他们可能有这个选项。如果我是他们,我会跳过短暂的领域。

最简单的事情,但是如果你的bean不复杂,克隆/复制它,然后从java中的bean中删除敏感数据。事实上,这比试图编辑JSON容易得多。

+0

刚刚检查,它看起来像他们做预期的事情(跳过瞬态)... http://sites.google.com/site/gson/ gson-user-guide – Gus 2012-02-03 05:31:37

+0

我不知道瞬态场。谢谢! – ryandlf 2012-02-03 05:33:42

+0

当然一个问题是,如果你的bean也以其他方式被序列化(例如服务器重启时的会话),你可能不想丢失信息,因此不想使用瞬态标志。 http://stackoverflow.com/questions/910374/why-does-java-have-transient-variables – Gus 2012-02-03 05:37:08