Android Phonegap-将JSONObject传递给javascript
我试图将一些信息从Android本机类传递到javascript。 我获取一个bundle,将其转换为JSONObject并传递它的字符串表示形式。 但是当试图在JS中解析它时,它失败了 我就是这么做的:Android Phonegap-将JSONObject传递给javascript,javascript,android,json,cordova,Javascript,Android,Json,Cordova,我试图将一些信息从Android本机类传递到javascript。 我获取一个bundle,将其转换为JSONObject并传递它的字符串表示形式。 但是当试图在JS中解析它时,它失败了 我就是这么做的: JSONObject jsonObject = new JSONObject(); for (String key : bundle.keySet()) { Object value = bundle.get(key); try {
JSONObject jsonObject = new JSONObject();
for (String key : bundle.keySet()) {
Object value = bundle.get(key);
try {
jsonObject.put(key, value.toString());
} catch (JSONException e) {
// Do nothing
}
}
final String jsStatement = String.format(
"window.doSomething('%s');", jsonObject.toString());
cordova.getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
webView.loadUrl("javascript:" + jsStatement);
}
});
你能告诉我为什么没有在JS中解析它,我如何解决它吗?查看可用于直接从Java传入/访问值的注释运行此代码时会发生什么?logcat中有任何内容吗?是的,它会进入JS方法,当我尝试使用收到的字符串执行JSON.parse(…)时,它会说“1处的意外标记”,您能回显JSON对象,然后通过jsonlint或其他方式运行它吗?听起来你可能真的没有JSON对象或其他东西。如果您正在创建一个JSON对象,然后执行
window.doSomething(“
我想可能”
“是意外的标记?感谢您的回复。我想我可能没有很好地解释我自己。JS从本机类获得调用(因此我不需要Javascript接口).但是,我传递的JSON字符串在JS中没有被解析,这就是我的问题。。。