我正在尝试将JSON字符串值`{“名称:ganesh,性别:男性,年龄:22”})转换为使用jwt in gwt的键和值集,任何人都可以帮我提供一些想法。
答案 0 :(得分:2)
由于您不想使用org.json,我想您需要在客户端转换JSON。如果是这种情况,则需要使用GWT的JSON库。通过将这些行添加到.gwt.xml文件中,可以将它们继承到GWT项目中:
<inherits name="com.google.gwt.json.JSON" />
<inherits name="com.google.gwt.http.HTTP" />
您还需要将com.google.gwt.json
个软件包导入到您的类文件中。
The getting started guide to using JSON in GWT can be found here.它还提供了解码JSON的示例。
答案 1 :(得分:2)
您的字符串必须是
形式"{'name':'ganesh','sex':'male','age':'22'}"
或 '{ “名称”: “内甚”, “性别”: “男”, “年龄”: “22”}'
您可以使用以下方式之一...
使用javascript eval。将eval嵌入JSNI
public static native String eatString(String jstring) /*-{
eval("var hello = " + jstring + ";");
return hello;
}-*/;
将String作为脚本传递到JSP GWT托管文件中。这样,您只能执行一次 - 当GWT应用程序加载其托管文件时。您的JSP将为每次加载动态生成javascript。
在GWT托管html文件中放置以下内容,在调用GWT模块的脚本标记之前。
<script>
var hello = {'name':'ganesh','sex':'male','age':'22'};
</script>
然后在你的GWT应用程序中,使用GWT Dictionary类来引用托管文件中声明的任何javascript对象。
使用以下实用程序,特别是JsonRemoteScriptCall.java,将SLD-SOP javascript对象中的远程读取到GWT应用程序中。 http://code.google.com/p/synthfuljava/source/browse/trunk/gwt/jsElements/org/synthful/gwt/javascript/#javascript%2Fclient
请注意 - SLD-SOP对象可能有危险。阅读二级域名,同源策略浏览器安全性。
使用RestyGWT并假装服务器中的数据符合REST数据结构。但当然,已经为您完成了json.org和google JSON utils的使用。