Javascript 无法访问JSONArray
我正在为android开发一个phonegap插件。这里我从Javascript 无法访问JSONArray,javascript,android,json,cordova,Javascript,Android,Json,Cordova,我正在为android开发一个phonegap插件。这里我从callBackContext.sendPluginResult(result)返回一个JSONArray。下面是我如何开发JSONArray private JSONArray makeJsonObject(String type, String result, float confidence) { JSONObject recogResult = new JSONObject(); JSONArray jsonAr
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;
}
上面的方法生成如下结果
[{“类型”:“中间”,“结果”:“da”,“置信度”: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打印的方式是否存在问题
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;
});
}
有什么想法吗
更新
我注意到我从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)
在打印div元素内部之前,请检查jsonArray中的属性
if(jsonArray.hasOwnProperty('type') ){
document.getElementById("test").innerHTML = json[0].result;
}
是否有名为“test”的元素?@PankajNimgade:是的。它是div的id应该是div的iddiv@Sachin:是的。它是ID@Tracer:您是否厌倦了json[0]。结果
?这应该是一个建议,兄弟,因为您没有提供解决方案,而是提供了处理数据的最佳方法。