【发布时间】:2019-12-04 13:26:27
【问题描述】:
我有 JavaScript 函数,其中使用了 JSON 解析器:
function myFunction(jobj) {
jobj = JSON.parse(jobj);
console.log("jobj: ", jobj);
}
我有 2 个应用程序(一个 Visual Studio C# 应用程序和一个 Android Studio 应用程序)带有一个 WebView“myWebView”,我在其中调用 JavaScript 函数“myFunction”:
C# 中的代码
JObject jobj = new JObject();
jobj.Add("id", "testId");
jobj.Add("value", "1234");
String json = jobj.ToString(Newtonsoft.Json.Formatting.None, null);
String[]jsonArray = new String[] { json };
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () => await myWebView.InvokeScriptAsync("myFunction", jsonArray));
Android 中的代码:
JSONObject jsonObj = new JSONObject();
jsonObj.put("id", "testId");
jsonObj.put("value", "1234");
String json = jsonObj.toString();
String[]jsonArray = new String[] { json };
myWebView.loadUrl("javascript:myFunction('" + jsonArray + "')");
在 C# 中它工作正常。
但在 Android 中,当我进行解析时,我会收到错误消息:
未捕获的 SyntaxError:位置 1 处 JSON 中的意外标记 L
谢谢,菲尔最好的问候
【问题讨论】:
-
显示你的json?
标签: javascript c# android json jsonparser