gpt4 book ai didi

javascript - 将 json 对象从 Android/iOS native 传递到 javascript

转载 作者:行者123 更新时间:2023-11-28 18:57:23 24 4
gpt4 key购买 nike

有什么方法可以将 JSONObject 从 android 传递到 javascript。我们正在使用 WebView.evaluateJavascript 方法并且只能发送 String 类型的对象。在 JS 中,如果我们检查方法参数;s typeof(data) 那么它显示为字符串,但在 iOS 中它显示 typeof(data) 为 OBJECT。

在 android 和 iOS 中,我们都传递 String 和 NSString。

JS方法是:

   response: function(id, err, data) {
var dataObj;
if(typeof(data) == 'string' ){
dataObj = JSON.parse(data || '{}');
}
}

Android 调用:

String responseStr = "{\"ok\":\"ok\"}";
String nativeToWebMethod = "javascript:window.nativeService.response("1",'','"+responseStr+"')";
webView.evaluateJavascript(nativeToWebMethod, null);

最佳答案

就像加载 url 一样发送它:

private void loadJS(String jsonResponse){

mWebView.loadUrl("javascript:" + "(function(){" + "yourJsMethodName" + "(" +jsonResponse + ");" + "})()");

}

这将执行一个 JS 代码,该代码将调用一个名为 yourJsMethodName 的函数并将 JSON 作为参数传递。

考虑在主线程中执行最后一段代码

关于javascript - 将 json 对象从 Android/iOS native 传递到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30867532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com