关于易语言的json数据处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于易语言的json数据处理相关的知识,希望对你有一定的参考价值。

原json数据详见: https://www.biliplus.com/api/view?id=19422453 有一组数据,已知page信息,从数据中调取相应的cid信息 如图所示(图示为数据中有用的部分),即当page=1时,出来的cid=31673524,page=2时,cid=31673525 (注:连续的情况纯属巧合,请让程序根据page信息从数据里面找对应的cid;图示数据前后的其他无用数据需舍弃,前后无用数据无固定长度;page变化范围0~99,cid为整数) 授人以鱼不如授人以渔,你就把鱼和渔都授给我把[dog]

参考技术A

.版本
2
.支持库
spec
.子程序
__启动窗口_创建完毕
.局部变量
网页文本,
文本型
.局部变量
json,
类_json
.局部变量
i,
整数型
网页文本

网页_访问S
(“https://www.biliplus.com/api/view?id=19422453”,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
)
网页文本

文本_取出中间文本
(网页文本,
“list”

#引号

“:”,
“,”

#引号

“v2_app_api”,
,
)
网页文本

文本_替换
(网页文本,
,
,
,
“,”

#引号

“part”,
“,”

#引号

“part1”,
,
,
,
,
,
,
,
)
调试输出
(网页文本)
.如果
(json.解析
(网页文本)

真)
 
 .计次循环首
(json.成员数
(),
i)
 
 
 
 调试输出
(“page:”

json.取通用属性
(“[”

到文本
(i

1)

“].page”,
真),

 cid:”

json.取通用属性
(“[”

到文本
(i

1)

“].cid”,
真))
 
 .计次循环尾
()
.否则
 
 信息框
(“解析失败!”,
0,
,
)

关于JSONP的一些易忽略的细节

本人前端渣渣,本文记录的是开始自学时,我自己容易混淆和忽略的细节。。。

 

1-JSONP,javascript object notation with padding,翻译成中文就是“参数式JSON”、“填充式JSON”。有没有霍然开朗?好多书里翻译成“有填充的JSON”,意思正好相反,害人不浅。

 

2-JSONP本质就是一个前后端商量好的协议,至今没有被W3C官方认可,但确是当今最流行的跨域手段。W3C官方认可的是CORS。

 

3-JSONP的原理只有两点:一、动态建立script标签实现异步。二、利用src属性实现跨域。ajax尚且可以实现同步(虽然几乎没有适用场景),但JSONP只能实现异步,因为依据动态建立script标签这一点,使得JSONP想同步都不行。比如下面这段代码:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title></title>
 5 </head>
 6 <body>
 7     <script type="text/javascript">
 8         var scn = document.createElement(‘script‘);
 9         scn.src = ‘a.js‘;
10         document.getElementsByTagName(‘head‘)[0].appendChild(scn);
11         alert(‘b‘);
12     </script>
13 </body>
14 </html>
alert(‘a‘);//a.js

结果先弹出b,在弹出a。加不加async属性都一样。

结论就是:动态添加进去的script标签,无论指定什么,都是异步的,指定同步异步的功能(比如defer/async属性)只对写死到HTML里的标签有效。

依据src属性的在设计之初压根也没有跨域与否的概念,JSONP也可以实现同步。简而言之,JSONP可以用来实现异步跨域、异步同域两种情况。

 

4-在jQuery里,JSONP被封装在了AJAX中。这一度给刚接触AJAX和JSONP的我带来一个困惑的认识:JSONP是AJAX的子集。当然,这样的认识是错误的。JSONP只是用来弥补AJAX中无法异步跨域的不足,并不是子集。

以上是关于关于易语言的json数据处理的主要内容,如果未能解决你的问题,请参考以下文章

易语言数组循环快还是json循环快

易语言怎么获取网页json内容

易语言json解析

易语言 史诗级Json处理 烁_Json模块!!!!

易语言 如何提交post数据。

【易语言】【OD】关于写dll劫持(也可叫做静态补丁)的方法