Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Phonegap-将JSONObject传递给javascript_Javascript_Android_Json_Cordova - Fatal编程技术网

Android Phonegap-将JSONObject传递给javascript

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 {

我试图将一些信息从Android本机类传递到javascript。 我获取一个bundle,将其转换为JSONObject并传递它的字符串表示形式。 但是当试图在JS中解析它时,它失败了

我就是这么做的:

    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中没有被解析,这就是我的问题。。。