基于前端的结构化查询初探

基于前端的结构化查询初探

ID:24513742

大小:50.00 KB

页数:3页

时间:2018-11-15

基于前端的结构化查询初探_第1页
基于前端的结构化查询初探_第2页
基于前端的结构化查询初探_第3页
资源描述:

《基于前端的结构化查询初探》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于前端的结构化查询初探  :Javascript环境下,以JSON数据格式为对象进行数据的前端存储及操作,以此实现“SQL前端应用”。使用正则表达式这一强大文本分析工具对SQL语句进行结构化解析;通过构建一系列对象及函数,实现对JSON对象的结构化查询。以此构造出JSONSQL引擎,支持在前端使用标准的结构化查询语句,对JSON数据实现查询、结构化输出等功能。    关键词:前端;Javascript;JSON;SQL;正则表达式    :TP393:A:1009-3044(2012)08-1723-03    StudyinentofNetentCAPFS

2、C,Chengdu610015,China)    Abstract:OntheenvironmentofJavaScript,themediumatofJSONstoreandoperatedataplement"anapplicationofplementstructuredqueryofJSONobject.ToconstructanengineofJSONSQLplementJSONdatainquiryandstructuredoutput.    Keye:’kitty’,age:20,male:false},    {id:1,name:’jac

3、k’,age:18,male:true},{id:2,name:’simth’,age:18,male:true}];    例1:构建一个名为dbObj的JSON对象    例1中的dbObj对象可以看成由DB中的全部或部分数据生成的一个JSON对象。    1.1.1.2访问方式    访问JSON对象简单、清晰,可以使用“.”或“[]”的方式访问,示例如下:    vart1=dbObj[2].name;vart2=dbObj[0][’id’];    document.th0    例2:JSON对象的访问方式    1.1.2正则表达式    正则表

4、达式(RegularExpression,缩写为RE)加上通用模式表达法(generalpatternnotation)能够添加、删除、分离、叠加、插入和修正各种类型的文本和数据[5]。本文主要是在Javascript环境中使用正则表达式。    1.1.2.1定义方法    在Javascript语言环境中,需先定义一个RE对象;可以使用“neyReg=neyRegE=/d+/;    例3:RE的定义    1.1.2.2两种属性    本文中会用到两种RE属性:1)全局(Global,简写’g’);2)忽略大小写(Ignore,简写’i’)。打开全局属

5、性时,RE会进行多次匹配,输出全部匹配结果;否则一次匹配成功后即退出。打开忽略大小写属性时,RE在对英文字母匹配时将忽略大小写。示例如下:    varmyReg=neyRegE=/d+/gi;    例4:设置RE属性    1.1.2.3环视    本文在使用RE处理文本时,将会多次使用到顺序环视(Lookahead,环视的一种)功能中的肯定型顺序环视(用“(?=…)”序列表示)。需要注意的是,Javascript不支持逆序环视。    1.2SQLkNum、返回字段集记为CallBackFields。    1.2.3建立条件式    在有条件子句的S

6、QL语句中,条件往往由多个运算符、函数组成;因此,有必要建立一个机制,在单独条件与多重条件的情况下均能正确有效的运行。    SQL语句的条件子句可看作是一个以“elike“j%”andage=18;”,简称ConditionExp。    1.2.3.1运算符的处理    条件子句中可以使用的运算符对应到Javascript脚本语言环境中可以分为三类:    第一、直接对应关系,如“>”、“<”、“>=”、括号等。此类运算符不用转换。    第二、间接对应关系,如“=”、“and”等。此类运算符直接使用RE替换即可。由此,Condition

7、Exp变型为“namelike“j%”age=    =18;”    第三、无对应关系,如“like”、“betelike“j%””;如果“like”之前有多个字段名也能正确匹配。    其次,以字符串“namelike“j%””(简称str)为参数带入Func函数进行处理,流程如下:函数脚本为:    functionLike(obj,regStr){    varReg=nep;nbsp;  if(Reg.test(obj[each])){    returntrue;    }    }    returnfalse;    }    需要注意的是,每

8、一个“无对应关系”的运算符都需要定义一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。