IOS下WEBVIEW 的javascript数组与json定义 及交互
最近在折腾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));vi模板大全
IOS端用了WebViewJavascriptBridge来桥接
-(void)viewDidLoad http://www.huiyi8.com/vi/
_bridge = [WebViewJavascriptBridge bridgeForWebView:webView webViewDelegate:self handler:^(id data, WVJBResponseCallback responseCallback){
NSLog(@"获取JSON数据:%@",data);
}];
}
OK,Done!
IOS下WEBVIEW 的javascript数组与json定义 及交互的更多相关文章
- Vue指令v-for之遍历输出JavaScript数组,json对象的几种方式
定义数据: <script> new Vue({ el:"#test", data:{ message:"infor", list:["a ...
- javascript 数组、json连接
json(或数组).concat(需要添加的json(或数组))
- JavaScript数组和json的区别
<html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...
- JavaScript数组的22种方法
原文:http://www.cnblogs.com/xiaohuochai/p/5682621.html javascript中数组的22种方法 前面的话 数组总共有22种方法,本文将其分为对象继 ...
- JavaScript数组中的22个常用方法
数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍. ...
- Javascript 数组 数字 字符串 时间等使用
1.Javascript 数组API 1. //定义数组 2. var pageIds = new Array(); 3. pageIds.push('A'); 5. 数组长度 6. pageIds. ...
- JavaScript 之 对象/JSON/数组
对象 简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成. var obj = { p: 'Hello World' }; 上面代码中,大括号就定义了一个对象,它被 ...
- objective-c和java下解析对象类型和数组类型JSON字符串
首先讲objective-c如何实现: 这里需要用到2个插件,一个是JSONKit,另一个是Jastor,一共包含6个文件,3个.h头文件和3个.m实现文件.在ARC的工程中如何导入不支持ARC的第三 ...
- iOS下JSON反序列化开源库
iOS下JSON字符串反序列化成对象.在正式的项目中比較常见.例如以下几个经常使用开源库.能够依据个人喜好任选其一: 1. JSONModel: https://github.com/icanzilb ...
随机推荐
- BZOJ3270 博物館 概率DP 高斯消元
BZOJ3270 博物館 概率DP 高斯消元 @(XSY)[概率DP, 高斯消元] Description 有一天Petya和他的朋友Vasya在进行他们众多旅行中的一次旅行,他们决定去参观一座城堡博 ...
- 作为一个新人,怎样学习嵌入式Linux?
作为一个新人,怎样学习嵌入式Linux? 在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).尝试着写一些C语言竞赛的题目.它们是纯 ...
- win10 配置pylucene
参考文章 http://lxsay.com/archives/269 Windows 10 64 Bit 编译安装 PyLucene 6.2, 6.4 或 6.5 POSTED ON 2017-02- ...
- 2.SOAP 语法
SOAP 消息的基本结构 <?xml version="1.0"?> <soap:Envelope xmlns="http://www.w3.org/2 ...
- c++ 操作Mysql ado
#pragma once #ifndef DB_MYSQL_H #define DB_MYSQL_H #include "stdafx.h" #include <wins ...
- Linux退出时出现there are stopped jobs如何解决?
Linux 使用exit时出现there are stopped jobs如何解决? 这是因为一些命令被挂起了, 在后台驻留,需要关闭. 解决问题: 输入命令jobs -l显示停止进程的详细列表 可以 ...
- react 调用 function 的写法 及 解决 react onClick 方法自动执行
1.react 调用方法的写法 (1)方式一 onClick={this.getFetchData.bind(this,item.id)} (2)方式二 getFetchData(e){ this.s ...
- Android通过JNI实现与C语言的串口通讯操作蓝牙硬件模块
一直想写一份技术文档,但因为自感能力有限而无从下笔,近期做了个关于Android平台下实现与C语言的通讯来操作蓝牙模块的项目,中间碰到了很多问题,也在网上查了很多资料,在完毕主要功能后.也有一些人在网 ...
- HDU 3564 Another LIS splay(水
题意: 给定一个空序列 插入n个数(依次插入 1.2.3.4··n) 以下n个数表示i插在哪个位置. 每插入一个数后输出这个序列的lis 然后... 由于每次插入的数都是当前序列最大的数 所以不会影响 ...
- UVA 10042 Smith Numbers(数论)
Smith Numbers Background While skimming his phone directory in 1982, Albert Wilansky, a mathematicia ...