我使用的javascript变量有json数据,如:
<script>var info = '${partyList}'</script>
我在html中得到了上面的字符串,如下所示:
var info = [{"tenantKey":"Demo:farcoahuja@gmail.com","lastModifiedDate":1407410632468,"seqId":1,"lastModifiedBy":"farcoahuja@gmail.com","historyStr":null,"mDate":null,"mBy":null,"partyOrgKey":"5488762045857792","id":6245226045767680,"organizationName":"","fullName":"ram's","partyNameSplitList":["ram"],"currencyId":6262818231812096,"currency":null,"comments":null,"panNo":"","tinNo":"","serviceTaxNo":"","internalRole":"CUSTOMER","acctgAttrib":{"mainBranch":false,"balance":0.0,"openingBalance":0.0,"finalBalance":0.0},"glAcctOrgKey":"4837851162214400:6245226045767680","priceListRef":null,"priceList":null,"mapFirstName":null,"mapLastName":null}];
如果您看到我的上面的json键值(“fullName”:“ram's”),则值ram具有特殊字符(单引号)。
我已经通过使用JSNI将其传达给gwt了。
private static native String getPartyListString() /*-{
return $wnd.info;
}-*/
我的上述方法是正确的,但由于值中的特殊单引号,jsni无法将其送到gwt端。
如何将上述数据提供给gwt方面?
答案 0 :(得分:0)
不要返回$wnd.partyList
,而是返回$wnd.info
。由于您在info
标记中命名了JavaScript对象<script>
,因此您需要在JSNI方法中将其命名为。
答案 1 :(得分:0)
上面提到的是一个JS对象。如果你想像字符串一样获取它,那么你需要将它传递给js对象信息,就像一个字符串。 要做到这一点:
<script>var info = "${partyList}";
var infoString = JSON.stringify(info);
</script>
private static native String getPartyListString() /*-{
return $wnd.infoString;
}-*/