在 GWT 中将字符串转换为可拆分表
Posted
技术标签:
【中文标题】在 GWT 中将字符串转换为可拆分表【英文标题】:Converting a String to a Splittable in GWT 【发布时间】:2014-02-04 02:56:17 【问题描述】:我正在维护一个用 GWT (2.5.0) 编写的网站,供我们的开发团队在内部使用,并且我一直在尝试使用 AutoBeans 进行客户端 json 解析。我有一些没有明确定义的 json 对象——开发人员可以在其中转储他想要的任何 json 字符串——所以我使用了 Splittable 属性。为了支持编辑这个任意 json,我想将 String 转换为 Splittable,但我还没有找到一种直接的方法来完成这个。我需要自己实现这个接口还是求助于一些hacky,比如将json包装在另一个json对象中,然后我可以解码成一个一次性的AutoBean,只是为了得到原始json的Splittable?
【问题讨论】:
【参考方案1】:StringQuoter
是我们在进行大部分手动拆分工作时使用的实用程序类。
只需用户StringQuoter.create("some string");
生成一个Splittable
,其有效负载为
"some string"
一旦你有了那个splittable,你可以用下面的方法把它分配给另一个splittable中的一个key:
Splittable.assign(Splittable parent, String propertyName);
但是,如果您尝试将包含 JSON 结构的任意字符串转换为可拆分表,请使用 StringQuoter.split(..)
创建它。可以正常查询生成的拆分表(即存在/不存在哪些键等)。
【讨论】:
您好乔纳森,感谢您的回复。我没有在生产模式下尝试过,但是在开发模式下,如果我传递一个 json String StringQuoter.split 并将生成的拆分表传递给 AutoBeanCodex.decode 我得到一个 TargetInvocationException,“原因:java.lang.NoClassDefFoundError: com/google /gwt/core/client/impl/WeakMapping”。想法?以上是关于在 GWT 中将字符串转换为可拆分表的主要内容,如果未能解决你的问题,请参考以下文章