找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10802|回复: 9

[教程源码] 只要几行代码解决JSON解析的解决思路

[复制链接]
  • 打卡等级:无名新人

13

主题

24

回帖

50

积分

易语言游戏编程班学员

鲜花
0
猫粮
184
发表于 2020-3-14 17:29:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
这是一串JSON格式字符串!
=====================================================================================
str = "{""Current_period"":635551,""Lottery_time"":""2017-08-21 20:13:24"",""Type"":[{""money"":""2"",""Ranking"":9,""Number"":""1,3,4,5,6,7,8,9,10""},{""money"":""2"",""Ranking"":5,""Number"":""1,2,3,5,6,7,8,9,10""},{""money"":""2"",""Ranking"":4,""Number"":""1,2,3,4,5,7,8,9,10""},{""money"":""2"",""Ranking"":3,""Number"":""1,2,3,4,5,6,7,9,10""},{""money"":""2"",""Ranking"":6,""Number"":""1,2,3,4,5,6,7,8,9""}]}"
=====================================================================================
按照这位大神的思路是利用"MSScriptControl.ScriptControl"这个组件来实现
这是组件说明:
https://www.jb51.net/article/53369.htm
单步解析操作:
比如调取"Current_period"":635551,"的数字
期号 = json解析(str, "Current_period")
TracePrint 期号
Function json解析(str,json路径)
    Set sc = CreateObject("MSScriptControl.ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "var tmp = " & str & ";"
    json解析 = sc.Eval("tmp." & json路径)
End Function

=========成功获取到Current_period的数字:635551
这里有个问题,我们平时遇到的很多JSON格式是有很多数组在里面这个时候我们怎么拆解?
就有了接下来的这一段就是利用Current_period内容(引号后面的) 这个Type数组个数去拆解!
=======================================================
总数 = json解析(str, "Type.length")'这个后面.length表示这个数组的大小
For i = 0 To 总数 - 1
    TracePrint "_____________________________________"
    TracePrint json解析(str, "Type[" & i & "].money")
    TracePrint json解析(str, "Type[" & i & "].Ranking")
    TracePrint json解析(str, "Type[" & i & "].Number")
Next
Function json解析(str,json路径)
    Set sc = CreateObject("MSScriptControl.ScriptControl")
    sc.Language = "JScript"
    sc.AddCode "var tmp = " & str & ";"
    json解析 = sc.Eval("tmp." & json路径)
End Function

=======================================================
这一步步去剥离每一层就能轻松解析出我们想要的数组值
这里我利用该命令已经成功解决百度云的OCR识别!


评分

参与人数 1猫粮 +5 收起 理由
紫猫 + 5 很给力!

查看全部评分

楼主热帖
  • 打卡等级:坠落山崖

1082

主题

2107

回帖

4291

积分

院长

鲜花
7
猫粮
7507
QQ
发表于 2020-3-15 11:35:43 | 显示全部楼层
感谢分享~

1

主题

1

回帖

2

积分

学前班

鲜花
0
猫粮
2
发表于 2020-5-28 18:03:21 | 显示全部楼层
{"log_id": 2448436779666743452, "words_result_num": 5, "words_result": [{"words": "无人加价准备"}, {"words": "倒计时,"},

这个怎么样能获取 words 后面的文字 words_result_num 这是行数??
  • 打卡等级:无名新人

13

主题

24

回帖

50

积分

易语言游戏编程班学员

鲜花
0
猫粮
184
 楼主| 发表于 2020-5-30 15:43:49 | 显示全部楼层
273233646 发表于 2020-5-28 18:03
{"log_id": 2448436779666743452, "words_result_num": 5, "words_result": [{"words": "无人加价准备"}, { ...

words_result

0

主题

4

回帖

4

积分

学前班

鲜花
0
猫粮
5
发表于 2020-10-10 14:27:18 | 显示全部楼层
给个例子,我也是百度云

0

主题

2

回帖

2

积分

学前班

鲜花
0
猫粮
1
发表于 2021-3-12 03:35:28 | 显示全部楼层
新手不懂就问,json路径是什么?
  • 打卡等级:无名新人

0

主题

24

回帖

24

积分

学前班

鲜花
0
猫粮
483
发表于 2021-3-18 06:59:58 | 显示全部楼层
最好有视频教程,学习一下。

0

主题

4

回帖

4

积分

按键电脑班学员

鲜花
0
猫粮
37
发表于 2021-3-23 07:12:54 | 显示全部楼层
昨天看完论坛的就交流,就决定加入学习。真的有在交流的论坛

0

主题

3

回帖

3

积分

学前班

鲜花
0
猫粮
1
发表于 2021-4-8 21:30:25 | 显示全部楼层
学习学习

0

主题

1

回帖

1

积分

学前班

鲜花
0
猫粮
1
发表于 2021-4-12 15:54:22 | 显示全部楼层
小白学习中
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学园

GMT+8, 2024-4-25 17:58

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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