我有这样的代码:'的RTServer-id`转向'的RTServer - id`在java字符串处理
public void foo(){
String script =
"var aLocation = {};" +
"var aOffer = {};" +
"var aAdData = " +
"{ " +
"location: aLocation, " +
"offer: aOffer " +
" };" +
"var aClientEnv = " +
" { " +
" sessionid: \"\", " +
" cookie: \"\", " +
" rtserver-id: 1, " +
" lon: 34.847, " +
" lat: 32.123, " +
" venue: \"\", " +
" venue_context: \"\", " +
" source: \"\"," + // One of the following (string) values: ADS_PIN_INFO,
// ADS_0SPEED_INFO, ADS_LINE_SEARCH_INFO,
// ADS_ARROW_NEARBY_INFO, ADS_CATEGORY_AUTOCOMPLETE_INFO,
// ADS_HISTORY_LIST_INFO
// (this field is also called "channel")
" locale: \"\"" + // ISO639-1 language code (2-5 characters), supported formats:
" };" +
"W.setOffer(aAdData, aClientEnv);";
javascriptExecutor.executeScript(script);
}
我有两个问题:
- 当我调试,并复制
script
值我看到一个会员rtserver - id
而不是rtserver-id
怎么可能?该代码因此抛出异常。
即使我删除此rtserver-id
成员(并没有抛出的异常)
我在这个浏览器控制台评估aLocation
并获得"variable not defined"
。怎么会这样?
我不希望'rtserver-id'成为一个有效的标识符。你确定这实际上与Java有什么关系?如果您只是想要有效的JSON,请尝试将它放在引号中......如果您在演示问题是将脚本转移到Javascript执行程序还是其他内容后显示* minimal *示例,这将会很有帮助。 – 2015-02-11 12:53:45
我会试试。但我怎么能解释,即使没有这个问题的成员,我仍然无法通过浏览器控制台访问这些变量? – 2015-02-11 14:26:44