Asp这个老古懂估计没几个人在用了。
几年没写代码了,最近要弄个小东西,给手机端提供json数据,不想麻烦别人,自己又只会asp,没办法就自己动手了。
网上找了好久都没有一个人能完整的把asp操作json说清楚。
最后还是自己搞定的。
整出来共享给大家。
(ps,还有个原因csdn的分不够用啦,大家看着给点吧。
写这个说明文档都用了我两小时。
^_^)以下是示例代码'说明:json.asp中引用了json.js.asp'其他见文档'手机很多时候不认gb2312,跳入json的坑就忘记gb2312吧,讨厌的是,如果代码报错,iis会输出gb2312,结果就是乱码,有点烦。
'自己想办法解决吧response.Charset="utf-8"dimstrJsonData,ovbJson,jdimarrTemp,varname,isetovbJson=newvbJson'asprecrodset和数组转json字符arrTemp=array("a","{""oa"":""我是oa""}","c")strJsonData=ovbjson.toJson(empty,arrTemp,true)'转换为Json格式的字符串,有兴趣可以自己输出看看是什么setj=json.parse(strJsonData)'序列化为json对象(或者是数组对象)response.Write(j.get(1)&"")'别用vb数组来存json对象,不然得每个元素去重新序列化,这里如果想j.get(1).oa就不行了。
必须对j.get(1)单独序列才行'----recrodset就不演示了,懒得连数据库'---自定义操作方法的演示---strJsonData="{a:1,b:[{c:'我是数组中的点c'}]}"setj=json.parsestr(strJsonData)response.Write(j.b.get(0).c&"")'添加节点的时候注意,如果值是null,会被忽然,这个节点会不存在的。
在添加之前记得先检查值setj=json.add(j,"new","我是新加的节点")response.Write(j.new&"")'下面这句注掉了,是因为这个操作是无效的因为j.b是数组,不能add'setj=json.add(j.b,"new1","我是加不进的节点")setj.b=j.b.put(j.b.length,j.b.get(0))response.Write(j.b.get(1).c&",我是新加的数组元素")'因为数组的get方法不允许被赋值,所以不能像下面这样写'setj.b.get(0)=json.add(j.b.get(0),"new","我会报错")json.addj.b.get(0),"new","我是新加的new我不会报错"json.addj.b.get(0),"new1","我是通过变量取出来的哦"response.Write(j.b.get(0).new&"")varname="new1"response.Write(json.byname(j.b.get(0),varname)&"")fori=0toj.b.length-1 varname="c" response.Write(json.byname(j.b.get(i),varname)&"我是循环出来的c,索引:"&i&"")next'最后完整的输出给手机就这样:response.Writejson.stringify(j)
2023/12/24 12:28:04 24KB asp json
1
搭建maven私服。
可以将公司内部开发的jar包放在私服上提供大家下载。
有了私服之后,当Maven需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;
否则,私服请求外部的中央仓库,将构件下载到私服,再提供给本地仓库下载。
2023/12/24 12:51:43 118.79MB maven nexus
1
加了概率和路径,都是随机的。
其中路径的长度是1-100,概率是0-1
2023/12/24 10:24:52 11.64MB Enren
1
文件大小:116M下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/
2023/12/24 2:42:56 116.04MB basemap python
1
软件介绍:SuperDTVEditor_H9_V1.2是H9高清机台标编辑,可导入导出dtv_user_data文件夹数据。
    2017-02-15 V1.2  1. 添加有线(DVB-C)支持2017-01-13 V1.1  1. 修复卫星,转发器删除后,导致导出dtv_user_data数据有问题的BUG2017-01-11 V1.0   初始版本
2023/12/22 14:10:32 80KB 其他资源
1
apollo-portal-1.8.0-github.zipapollo-portal-1.8.0-github.zipapollo-portal-1.8.0-github.zip
2023/12/22 5:50:09 50.75MB apollo portal 1.8.0 zip
1
linux下svn安装依赖的包subversion-deps-1.6.1.tar.gz,本人也上传了安装包subversion-1.6.1.tar.gz,两个都下载下来直接解压会自动到同一目录无需手动修改
2023/12/22 2:13:14 4.51MB svn linux 服务器
1
GNU/Linux,popt-1.7.tar.gz库源代码,parsecommandlineoptions
2023/12/21 20:52:57 561KB popt
1
qt版本5.14.2编译zlib-1.2.11quazip-0.7.3;
zlib是通用的压缩库,提供了一套in-memory压缩和解压函数,并能检测解压出来的数据的完整性(integrity)。
zlib也支持读写gzip(.gz)格式的文件;Quazip是Qt平台下面的一个非常受欢迎的压缩解压缩库
2023/12/21 8:42:15 1.55MB quazip zlib
1
VSCodeUserSetup-x64-1.43.2.zip
2023/12/21 0:56:03 56.16MB vscode 开发工具
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡