设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2924|回复: 2
打印 上一主题 下一主题

[多媒体] “另一种Eval”——浅谈JSON数据解析

[复制链接]
跳转到指定楼层
1#
发表于 2015-3-12 17:02:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 roych 于 2015-3-13 11:56 编辑

大概昨晚发的照片太引人注目了,所以今天不得不发个帖子来消除下影响。O(∩_∩)O哈哈~先来看个简单的例子。如下所示,大家先想想,怎么去获取第一条记录中的firstName的数据(即:John)。{
"employees":
[
    { "firstName":"John" , "lastName":"Doe" },
    { "firstName":"Anna" , "lastName":"Smith" },
    { "firstName":"Peter" , "lastName":"Jones" }
]
//这里加上逗号后,可以继续加上像上面格式的数据。
}

这时候,可能大家已经开始各展神通了:有人会说,用instr来判断firstName的位置,然后再获取;也有人会说,用正则表达式来匹配字符串,然后进行替换获取。有木有想过用VB来处理的?例如Eval函数。代码很短,执行效率很高,“Duang”的一下,数据就出来了。版友会觉得很假,根本没有这样的Eval函数嘛。这一点说对了,VB内置的Eval函数确实没办法实现。不过JavaScript里的Eval函数却是可以的哦。不过前提是要先引用ScriptControl库。
先贴例子:
——由于宝贝描述评分是来自于淘宝网,因此运行时先确保已经联网。
事实上,因为易读性,网页上很多数据都是以JSON格式来存储的。而从某种角度来看,JSON也算是一种数据库格式。如上面的例子,就可以把“employees”当成一个表,firstname等当做一个字段,数据自然就是冒号后面的那些啦。在注释位置上,加上逗号分开,还可以进行加上一些“表”。

也有人把这些成为“NOSQL”数据格式(不NO SQL,而是 Not Only SQL哦),说明它是一个非关系型数据库(即不可以直接用SQL语句来查询的)。
顺便说一句的是,方法1是采用Ajax来处理的,运行相对快一些。而方法2则采用了Webbrowser,由于需要加载完毕才读取数据,所以相对会慢一点。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖1 订阅订阅

点击这里给我发消息

2#
发表于 2015-3-13 07:11:21 来自手机 | 只看该作者
学习 收藏
回复

使用道具 举报

点击这里给我发消息

3#
发表于 2015-3-13 11:42:52 | 只看该作者
学习!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 04:02 , Processed in 0.104709 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表