【发布时间】:2016-01-19 07:08:35
【问题描述】:
我正在为 android 开发一个 phonegap 插件。在这里,我从callBackContext.sendPluginResult(result); 返回一个JSONArray。下面是我如何开发JSONArray
private JSONArray makeJsonObject(String type, String result, float confidence)
{
JSONObject recogResult = new JSONObject();
JSONArray jsonArray = new JSONArray();
//JSONObject jsonObject = new JSONObject();
try
{
recogResult.put("type", type);
recogResult.put("result", result);
recogResult.put("confidence", confidence);
jsonArray.put(recogResult);
//jsonObject.put("recognitionResults", recogResult);
}
catch(JSONException e)
{
Log.d(LOG_TAG, "JSON Error", e);
}
return jsonArray;
}
上述方法产生如下结果。
[{"type":"interim","result":"da","confidence":0}]
以下是我通过 javascript 阅读它的方式。
function startRecognition()
{
SpeechRecPlug.startRecognition(function(msg){
var data = msg;
var json = JSON.parse(data);
var div = document.getElementById("test");
div.innerHTML = div.innerHTML + " "+ json[1].result;
});
}
但问题是,在 HTML 中,没有打印任何内容。不确定我尝试使用 Javascript 打印的方式是否存在问题。
有什么想法吗?
更新 我注意到我从 android 控制台收到以下消息
01-19 12:54:57.946: I/chromium(30192): [INFO:CONSOLE(310)] "Error in Success callbackId: SpeechRecPlug1992021962 : SyntaxError: Unexpected token o", source: file:///android_asset/www/cordova.js (310)
【问题讨论】:
-
是否有任何名为“test”的元素?
-
@PankajNimgade:是的。是DIV的id
-
应该是div的id
-
@Sachin:是的。是身份证
-
@Tracer:你累了吗
json[0].result?
标签: javascript android json cordova