最近在折腾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定义 及交互的更多相关文章

  1. Vue指令v-for之遍历输出JavaScript数组,json对象的几种方式

    定义数据: <script> new Vue({ el:"#test", data:{ message:"infor", list:["a ...

  2. javascript 数组、json连接

    json(或数组).concat(需要添加的json(或数组))

  3. JavaScript数组和json的区别

    <html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...

  4. JavaScript数组的22种方法

    原文:http://www.cnblogs.com/xiaohuochai/p/5682621.html javascript中数组的22种方法   前面的话 数组总共有22种方法,本文将其分为对象继 ...

  5. JavaScript数组中的22个常用方法

    数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详细介绍. ...

  6. Javascript 数组 数字 字符串 时间等使用

    1.Javascript 数组API 1. //定义数组 2. var pageIds = new Array(); 3. pageIds.push('A'); 5. 数组长度 6. pageIds. ...

  7. JavaScript 之 对象/JSON/数组

    对象 简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成. var obj = { p: 'Hello World' }; 上面代码中,大括号就定义了一个对象,它被 ...

  8. objective-c和java下解析对象类型和数组类型JSON字符串

    首先讲objective-c如何实现: 这里需要用到2个插件,一个是JSONKit,另一个是Jastor,一共包含6个文件,3个.h头文件和3个.m实现文件.在ARC的工程中如何导入不支持ARC的第三 ...

  9. iOS下JSON反序列化开源库

    iOS下JSON字符串反序列化成对象.在正式的项目中比較常见.例如以下几个经常使用开源库.能够依据个人喜好任选其一: 1. JSONModel: https://github.com/icanzilb ...

随机推荐

  1. MongoDb 判断字段长度比较好的方法

    查询某字段长度超过一定长度时的方法, MongoDB中可能不好处理,一般这样: db.test.find({ $where:"this.F_DAQDATA.legnth>600&quo ...

  2. Exiting an iOS App with Xamarin

    referenced from: http://www.redbitdev.com/exiting-ios-app-with-xamarin-ios/ The team is in the middl ...

  3. -[__NSCFString longValue]: unrecognized selector sent to instance

    You can use NSString methods intValue longLongValue. 这个使用longvalue会crash报上面的错误

  4. 【MyEcplise】设置右键快捷菜单的方法

    在我们右键新建项目或文件时,有许多的选项我们几乎是不用的,那就没有必要放在右键的快捷菜单中:而有些选项是我们经常会用的,但是右键快捷菜单有没有,我们总是需要选择其它去到弹出的对话框中取选取.这些操作很 ...

  5. 从头写一个Cucumber测试(二) Cucumber Test

    转载:https://yaowenjie.github.io/%E7%BC%96%E7%A8%8B%E7%9B%B8%E5%85%B3/cucumber-test-part-2 承接上文   前一篇博 ...

  6. OpenCV入门笔记(一) Linux下的安装

    关于OpenCV,有中文的官方站点.里面翻译了官网的教程和API等.中文官方Tutorials见这里:[Tutorials] 一.Ubuntu下的安装 能够选择直接从库里安装,或者手动编译安装,请參考 ...

  7. react className 有多个值时的处理 / react 样式使用 百分比(%) 报错

    1.react className 有多个值时的处理 <fieldset className={`${styles.formFieldset} ${styles.formItem}`}> ...

  8. 第一个Hello,OS World操作系统

    来自:清泛网 - http://www.tsingfun.com/html/2015/dev_0804/hello_os_word_my_first_os.html 首先阐述下程序运行的基本原理:计算 ...

  9. Jememeter和Loadrunner测试MySQL性能

    From:http://blog.csdn.net/testingstar/article/details/60579454 MySQL数据库性能测试的方法 前置条件: 安装系统:windows 7 ...

  10. Coder-Strike 2014 - Round 2

    t题目链接:Coder-Strike 2014 - Round 2 A题:简单水题,注意能加入反复的数字.因此仅仅要推断是否能把Min和Max加入好.就能够了 B题:开一个sum计算每一个聊天总和,和 ...