文档章节

IOS下WEBVIEW 的javascript数组与json定义 及交互

Youtubeornotobe
 Youtubeornotobe
发布于 2013/08/20 16:15
字数 397
阅读 3985
收藏 7

最近在折腾IOS新闻浏览客户端,当中需要用到webview传递JSON数据到IOS上,然后在IOS上解析。刚入门IOS不久,看了不少的书,但都是囫囵吞枣。在开发过程中,遇到不少问题。

开发环境

mac mini (IOS端开发)

thinkpad x200s(PHP开发)

功能实现:

在WEBVIEW创建DOM监听,判断用户按下WEBVIEW上链接,通过DOM获取相关链接信息,遍历数组,最终用

$.toJSON(jsArray);//将JS数组转换成JSON格式

下面记录一下

1、JS数组定义

最终在WEBVIEW端需要传递的JSON格式为

[{"title":"网页标题1","url":"网页地址1"},{"title":"网页标题2","url":"网页地址2"}]

实现思路步骤:

首先是定义javascript数组,

var jsArray = new Array();

或者

var jsArray = [];

为了显COOL,我用后面的数组定义

问题来了:

在PHP下定义

phpArray[i]['title']=网页标题1;

轻而易举,但是在JAVASCRIPT却不行。

后来经过尝试得出了:

jsArray[i]={"title":"网页标题","url":"网页地址"};

$.toJSON();

在网上找到的toJSON插件函数,在页面上导入,当在console输出的json格式却为

   [{title:"网页标题",url:"网页地址"};]

很明显这个json格式不标准,经排除,确认是在toJSON插件下数组拼切时没有加上"

最后在WEBVIEW的JS发送json数据到IOS端

bridge.send($.toJSON(jsArray));

IOS端用了WebViewJavascriptBridge来桥接

-(void)viewDidLoad
{

_bridge = [WebViewJavascriptBridge bridgeForWebView:webView webViewDelegate:self handler:^(id data, WVJBResponseCallback responseCallback){

            NSLog(@"获取JSON数据:%@",data);

}];

}

OK,Done!


© 著作权归作者所有

共有 人打赏支持
上一篇: SDWebImage
下一篇: IOS学习
Youtubeornotobe

Youtubeornotobe

粉丝 44
博文 210
码字总数 59509
作品 0
广州
程序员
私信 提问
iOS与JS交互之WKWebView-WKUIDelegate协议

级别:★★☆☆☆ 标签:「iOS与JS交互」「WKWebView与JS交互」「WKUIDelegate」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),JS指前端...

QiShare
09/03
0
0
基于原生的移动跨平台研究和实践

基于原生主要是针对基于webview+h5比较来说的,基于H5的我不想再讨论了,我想尝试的是从UI到功能都是原生,而不是用H5模拟的所谓原生体验。 背景 我们从开发角度来考虑,但凡想从事长远的开发...

voxer
2017/03/26
109
0
Objective-C与JavaScript的交互

UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将 javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。 UIWebView是...

长平狐
2013/03/19
97
0
iOS与JS交互之UIWebView-JSExport协议

级别:★★☆☆☆ 标签:「iOS与JS交互」「UIWebView与JS交互」「JSExport」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),JS指前端(不...

QiShare
08/31
0
0
app 与 h5相互调用

前言: 在项目中有时候需要APP和H5之间相互调用方法来实现某些功能,本文主要介绍Android和iOS是怎么实现相互调用对方的方法。 一、APP调用H5的方法 将APP生成的信息,以基本数据类型或者Jso...

mircle
06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

零距离接触阿里云时序时空数据库TSDB

概述 最近,Amazon新推出了完全托管的时间序列数据库Timestream,可见,各大厂商对未来时间序列数据库的重视与日俱增。 阿里云TSDB是阿里巴巴集团数据库事业部研发的一款高性能分布式时序时空...

阿里云云栖社区
12分钟前
0
0
OkHttpClient封装

import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Map; import java.util.TreeMap; import java.util.Map.Entry; import o......

尘叙缘
13分钟前
1
0
零距离接触阿里云时序时空数据库TSDB

概述 最近,Amazon新推出了完全托管的时间序列数据库Timestream,可见,各大厂商对未来时间序列数据库的重视与日俱增。 阿里云TSDB是阿里巴巴集团数据库事业部研发的一款高性能分布式时序时空...

阿里云官方博客
14分钟前
0
0
centos 7 nginx_install.sh

#!/bin/bashset -eprintf "============开始安装nginx\n"printf "============输入nginx下载url,按Enter默认下载1.14.2版本\n"download_url='';while truedoread down...

偶遇一只小仙女
15分钟前
0
0
数据库高并发下乐观锁的原理

在高并发下,经常需要处理SELECT之后,在业务层处理逻辑,再执行UPDATE的情况。 若两个连接并发查询同一条数据,然后在执行一些逻辑判断或业务操作后,执行UPDATE,可能出现与预期不相符的结...

hansonwong
16分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部