GWT JSONObject在将叠加类型转换为json字符串时添加其他错误键

时间:2011-06-03 10:43:22

标签: parsing gwt json

我遇到了以下问题 - 我有简单的GWT覆盖类型,我正在尝试将一个转换为客户端上的JSON字符串;我只是在做:

new JSONObject(this).toString();

转换有效,但它会为json字符串添加一个额外的错误键,例如:

{"key1":"value1", "key2":value2, "$H":1}

其中“$ H”:1与我的叠加类型中的任何内容都不对应。 知道为什么会这样吗?

对此表示感谢,谢谢。

1 个答案:

答案 0 :(得分:1)

此问题已在此link

中定义
  

$ H属性来自   实施   JavaScriptObject #hashCode()(in   com.google.gwt.cire.client.impl.Impl#GetHashCode的(对象))。

     

在您的情况下,这是由于   AbstractEditableCell维护一张地图   值键的“视图数据”,   以及你对默认的使用(我猜)   提供Key实现   (SimpleProvidesKey)直接   返回该项目。

     

因此,在渲染时,EditTextCell   调用getViewData,查找   键入地图(因此需要   密钥的哈希码,因此调用   hashCode),关键是你的JSO   (因此新的$ H财产)。

     

我相信提供一个ProvideKey   实施(在你的情况下,返回   例如,名称属性)   Celltable将解决您的问题。