优秀的编程知识分享平台

网站首页 > 技术文章 正文

VB6PlusTLB版 – CreateJson函数_vbs中createobject怎么用

nanyue 2025-02-18 12:37:58 技术文章 4 ℃

说明

创建高性能Json解析。

语法

CreateJson() As Json

Json的成员

解析字符串

Function Parse(Text As String, Err As String) As Boolean

Text

字符串

Err

错误信息

解析文件

Function ParseFile(FileName As String, Err As String) As Boolean

FileName

文本文件。支持ANSI/UTF-16 LE/UTF-16 BE/UTF-8/带有BOM的UTF-8文件格式

Err

错误信息

得到长度

Function GetLength() As Integer

得到数组的键值(非数组取当前)

Function Rs(Index As Integer, Key As String) As String

Index

数组从0开始的序号

Key

得到子数组的长度(非数组返回1)

Function SRsLen(Index As Integer, Key As String) As Integer

Index

数组从0开始的序号

Key

得到子数组的键值(非数组取当前)

Function SRs(Index As Integer, Key As String, SonIndex As Integer, SonKey As String) As String

Index

数组从0开始的序号

Key

SonIndex

子数组从0开始的序号

SonKey

得到指定路径的键值

Function Get(Path As String, [DecodeText As Boolean = False]) As String

Path

路径

DecodeText

是否解码

示例

新建工程,添加窗体,设置标题,添加标签、文本框和按钮

打开代码窗口,写入代码

Option Explicit

Private Sub cmdJGet_Click()

Dim Jsn As Json

Dim StrB As StringBuilder

Dim intLen As Integer

Dim i As Integer

Dim StrErr As String


Set StrB = CreateStringBuilder


StrB.Append2 "----------------------", vbCrLf

StrB.Append2 "按路径读取", vbCrLf

StrB.Append2 "路径:" & txtPath.Text, vbCrLf

StrB.Append2 "----------------------", vbCrLf


Set Jsn = CreateJson

If Jsn.Parse(TextBox1.Text, StrErr) = False Then

StrB.Append2 StrErr, vbCrLf

Set Jsn = Nothing

GoTo Final

End If

StrB.Append Jsn.Get(txtPath.Text, True)

Set Jsn = Nothing


Final:

TextBox2.Text = StrB.ToString

Set StrB = Nothing

End Sub

Private Sub cmdParseJson_Click()

Dim Jsn As Json

Dim StrB As StringBuilder

Dim intLen As Integer

Dim i As Integer

Dim StrErr As String


Set StrB = CreateStringBuilder


StrB.Append2 "----------------------", vbCrLf

StrB.Append2 "根解析", vbCrLf

StrB.Append2 "----------------------", vbCrLf


Set Jsn = CreateJson

If Jsn.Parse(TextBox1.Text, StrErr) = False Then

StrB.Append2 StrErr, vbCrLf

Set Jsn = Nothing

GoTo Final

End If

intLen = Jsn.GetLength()

StrB.Append6 "序号", vbTab, "名称", vbTab, "值", vbCrLf

For i = 1 To intLen

StrB.Append6 CStr(i), vbTab, Jsn.Rs(i - 1, "name"), vbTab, Jsn.Rs(i - 1, "value"), vbCrLf

Next


Set Jsn = Nothing


Final:

TextBox2.Text = StrB.ToString

Set StrB = Nothing

End Sub

Private Sub cmdParseJsonSon_Click()

Dim Jsn As Json

Dim StrB As StringBuilder

Dim intLen As Integer

Dim i As Integer

Dim StrErr As String


Set StrB = CreateStringBuilder


StrB.Append2 "----------------------", vbCrLf

StrB.Append2 "子解析", vbCrLf

StrB.Append2 "路径:[0][data]", vbCrLf

StrB.Append2 "----------------------", vbCrLf


Set Jsn = CreateJson

If Jsn.Parse(TextBox1.Text, StrErr) = False Then

StrB.Append2 StrErr, vbCrLf

Set Jsn = Nothing

GoTo Final

End If

intLen = Jsn.SRsLen(0, "data")

StrB.Append4 "序号", vbTab, "key", vbCrLf

For i = 1 To intLen

StrB.Append4 CStr(i), vbTab, Jsn.SRs(0, "data", i - 1, "key"), vbCrLf

Next


Set Jsn = Nothing


Final:

TextBox2.Text = StrB.ToString

Set StrB = Nothing

End Sub

运行效果

免责声明

Vb6plusTLB库,使用社区版开发,仅供学习交流使用。

使用本软件风险由用户自行承担,在适用法律允许的最大范围内,对因使用或不能使用本软件所产生的损害及风险,包括但不限于直接或间接的个人损害、商业盈利的丧失、贸易中断、商业信息的丢失或任何其它经济损失,以及任何不可抗力带来的损失,我方不承担任何责任。

如本文不适合发表请通知删除。

最近发表
标签列表