cordova java调用js,如何将JSON对象从Java返回到javascript(cordova)

这篇博客介绍了如何在Cordova环境中使用JSON进行Java和JavaScript之间的数据传递。通过引入JSON库,Java端创建JSONObject和JSONArray,使用put方法添加键值对。在JavaScript端,可以轻松解析JSON对象。通过PluginResult将数据发送回JavaScript,使用success方法或异步方式发送结果。
摘要由CSDN通过智能技术生成

在cordova中, 你可能需要将一些数据返回到视图(不仅是简单的字符串)。可以使用JSON将这些数据有效地发送到视图, 但是我们不会手动从数组创建JSON字符串, 因为这不是一个好习惯。

使用Java android将信息从Java发送到Cordova中的javascript:

我们需要在类中包括以下组件, 然后我们才能创建json数组和对象(如果使用try and catch block, 则需要包括JSONException)。

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

在javascript中, 创建对象确实非常容易, 你只需要为对象分配属性名称即可, 仅此而已(使用点或括号表示法)。 Java也很简单, 但是有所不同, 我们将创建一个JSONObject类型的变量, 并使用PUT函数添加一个键。

JSONObject item = new JSONObject();

item.put("name", "filename.java");

item.put("filepath", "aimaginarypath");

// in javascript this is something like

// {filepath:"aimaginarypath", name:"filename.java"}

可变项包含名称和文件路径键, 作为普通的javascript对象。

在javascript中, 我们需要调用push函数将项目添加到现有数组中。与java相同, 只是带有其他名称(添加)。

JSONArray jsonArray = new JSONArray();

jsonArray.put("item number 1");

jsonArray.put("item number 2");

// in javascript this is something like :

// ["item number 1", "item number 2"]

要发送数组或对象, 我们将在变量上调用toString方法。这是在Cordova中发送结果的两种方法(请记住, callbacks =类的callbackContext变量):

异步(使用threadPool)

JSONArray jsonArray = new JSONArray();

jsonArray.put("item number 1");

// send the JSONArray using jsonArray.toString();

PluginResult result = new PluginResult(PluginResult.Status.OK, jsonArray.toString());

result.setKeepCallback(true);

callbacks.sendPluginResult(result);

“同步”

JSONObject item = new JSONObject();

item.put("name", "filename.java");

callbacks.success(item.toString());

然后, 你只需要使用Javascript(JSON.parse(jsonstring))进行解析, 就可以玩得开心!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值