亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP JSON類源碼分享

2024-05-04 11:08:15
字體:
來源:轉載
供稿:網友
ASP JSON類源碼分享,需要的朋友可以參考下。
 
 
 
復制代碼代碼如下:

<% 
'============================================================ 
' 文件名稱 : /Cls_Json.asp 
' 文件作用 : 系統JSON類文件 
' 文件版本 : VBS JSON(JavaScript Object Notation) Version 2.0.2 
' 程序修改 : Cloud.L 
' 最后更新 : 2009-05-12 
'============================================================ 
' 程序核心 : JSON官方 http://www.json.org/ 
' 作者博客 : Http://www.cnode.cn 
'============================================================ 
Class Json_Cls 

Public Collection 
Public Count 
Public QuotedVars '是否為變量增加引號 
Public Kind ' 0 = object, 1 = array 

Private Sub Class_Initialize 
Set Collection = Server.CreateObject(GP_ScriptingDictionary) 
QuotedVars = True 
Count = 0 
End Sub 

Private Sub Class_Terminate 
Set Collection = Nothing 
End Sub 

' counter 
Private Property Get Counter 
Counter = Count 
Count = Count + 1 
End Property 

' 設置對象類型 
Public Property Let SetKind(ByVal fpKind) 
Select Case LCase(fpKind) 
Case "object":Kind=0 
Case "array":Kind=1 
End Select 
End Property 

' - data maluplation 
' -- pair 
Public Property Let Pair(p, v) 
If IsNull(p) Then p = Counter 
Collection(p) = v 
End Property 

Public Property Set Pair(p, v) 
If IsNull(p) Then p = Counter 
If TypeName(v) <> "Json_Cls" Then 
Err.Raise &hD, "class: class", "class object: '" & TypeName(v) & "'" 
End If 
Set Collection(p) = v 
End Property 

Public Default Property Get Pair(p) 
If IsNull(p) Then p = Count - 1 
If IsObject(Collection(p)) Then 
Set Pair = Collection(p) 
Else 
Pair = Collection(p) 
End If 
End Property 
' -- pair 
Public Sub Clean 
Collection.RemoveAll 
End Sub 

Public Sub Remove(vProp) 
Collection.Remove vProp 
End Sub 
' data maluplation 

' encoding 
Public Function jsEncode(str) 
Dim i, j, aL1, aL2, c, p 

aL1 = Array(&h22, &h5C, &h2F, &h08, &h0C, &h0A, &h0D, &h09) 
aL2 = Array(&h22, &h5C, &h2F, &h62, &h66, &h6E, &h72, &h74) 
For i = 1 To Len(str) 
p = True 
c = Mid(str, i, 1) 
For j = 0 To 7 
If c = Chr(aL1(j)) Then 
jsEncode = jsEncode & "/" & Chr(aL2(j)) 
p = False 
Exit For 
End If 
Next 

If p Then 
Dim a 
a = AscW(c) 
If a > 31 And a < 127 Then 
jsEncode = jsEncode & c 
ElseIf a > -1 Or a < 65535 Then 
jsEncode = jsEncode & "/u" & String(4 - Len(Hex(a)), "0") & Hex(a) 
End If 
End If 
Next 
End Function 

' converting 
Public Function toJSON(vPair) 
Select Case VarType(vPair) 
Case 1 ' Null 
toJSON = "null" 
Case 7 ' Date 
' yaz saati problemi var 
' jsValue = "new Date(" & Round((vVal - #01/01/1970 02:00#) * 86400000) & ")" 
toJSON = """" & CStr(vPair) & """" 
Case 8 ' String 
toJSON = """" & jsEncode(vPair) & """" 
Case 9 ' Object 
Dim bFI,i 
bFI = True 
If vPair.Kind Then toJSON = toJSON & "[" Else toJSON = toJSON & "{" 
For Each i In vPair.Collection 
If bFI Then bFI = False Else toJSON = toJSON & "," 

If vPair.Kind Then 
toJSON = toJSON & toJSON(vPair(i)) 
Else 
If QuotedVars Then 
toJSON = toJSON & """" & i & """:" & toJSON(vPair(i)) 
Else 
toJSON = toJSON & i & ":" & toJSON(vPair(i)) 
End If 
End If 
Next 
If vPair.Kind Then toJSON = toJSON & "]" Else toJSON = toJSON & "}" 
Case 11 
If vPair Then toJSON = "true" Else toJSON = "false" 
Case 12, 8192, 8204 
Dim sEB 
toJSON = MultiArray(vPair, 1, "", sEB) 
Case Else 
toJSON = Replace(vPair, ",", ".") 
End select 
End Function 

Public Function MultiArray(aBD, iBC, sPS, ByRef sPT) ' Array BoDy, Integer BaseCount, String PoSition 
Dim iDU, iDL, i ' Integer DimensionUBound, Integer DimensionLBound 
On Error Resume Next 
iDL = LBound(aBD, iBC) 
iDU = UBound(aBD, iBC) 

Dim sPB1, sPB2 ' String PointBuffer1, String PointBuffer2 
If Err = 9 Then 
sPB1 = sPT & sPS 
For i = 1 To Len(sPB1) 
If i <> 1 Then sPB2 = sPB2 & "," 
sPB2 = sPB2 & Mid(sPB1, i, 1) 
Next 
MultiArray = MultiArray & toJSON(Eval("aBD(" & sPB2 & ")")) 
Else 
sPT = sPT & sPS 
MultiArray = MultiArray & "[" 
For i = iDL To iDU 
MultiArray = MultiArray & MultiArray(aBD, iBC + 1, i, sPT) 
If i < iDU Then MultiArray = MultiArray & "," 
Next 
MultiArray = MultiArray & "]" 
sPT = Left(sPT, iBC - 2) 
End If 
End Function 

Public Property Get ToString 
ToString = toJSON(Me) 
End Property 

Public Sub Flush 
If TypeName(Response) <> "Empty" Then 
Response.Write(ToString) 
ElseIf WScript <> Empty Then 
WScript.Echo(ToString) 
End If 
End Sub 

Public Function Clone 
Set Clone = ColClone(Me) 
End Function 

Private Function ColClone(core) 
Dim jsc, i 
Set jsc = New Json_Cls 
jsc.Kind = core.Kind 
For Each i In core.Collection 
If IsObject(core(i)) Then 
Set jsc(i) = ColClone(core(i)) 
Else 
jsc(i) = core(i) 
End If 
Next 
Set ColClone = jsc 
End Function 

Public Function QueryToJSON(dbc, sql) 
Dim rs, jsa,col 
Set rs = dbc.Execute(sql) 
Set jsa = New Json_Cls 
jsa.SetKind="array" 
While Not (rs.EOF Or rs.BOF) 
Set jsa(Null) = New Json_Cls 
jsa(Null).SetKind="object" 
For Each col In rs.Fields 
jsa(Null)(col.Name) = col.Value 
Next 
rs.MoveNext 
Wend 
Set QueryToJSON = jsa 
End Function 

End Class 
%> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品久久久久久国产 免费| 日韩中文字幕视频| 91国偷自产一区二区三区的观看方式| 国产成人精品久久二区二区| 亚洲美女自拍视频| 欧美日韩一区二区免费在线观看| 久久久久免费精品国产| 国产精品久久久久久久美男| 欧美日韩国产色视频| 91高清视频在线免费观看| 国产精品福利网| 亚洲自拍偷拍视频| 国模精品视频一区二区三区| 奇米一区二区三区四区久久| 日本乱人伦a精品| 中文字幕日韩综合av| 一区二区三区视频免费| 91沈先生作品| 亚洲激情视频网站| 久久亚洲精品一区二区| 亚洲精选中文字幕| 97色在线观看免费视频| 伊人激情综合网| 久久这里只有精品视频首页| 91在线免费视频| 伊人伊成久久人综合网小说| 欧美日韩国产精品一区二区三区四区| 成人在线视频福利| 欧美做爰性生交视频| 国产精品入口尤物| 欧美精品aaa| 国产91色在线| 国产精品偷伦免费视频观看的| 91日本在线观看| 久久久久久久久国产精品| 亚洲理论在线a中文字幕| 日韩在线视频免费观看高清中文| 欧美一级视频在线观看| 国产精品久久久久久久久免费看| 久久久久北条麻妃免费看| 国产精品久久精品| 日韩一二三在线视频播| 成人性生交大片免费看小说| 国产精品精品一区二区三区午夜版| 一本色道久久综合狠狠躁篇怎么玩| 丝袜美腿亚洲一区二区| 亚洲成人久久久久| 国产精品自产拍在线观| 欧美日韩中文字幕综合视频| 日韩精品欧美激情| 国产日韩在线精品av| 青青精品视频播放| 免费99精品国产自在在线| 国产热re99久久6国产精品| 日韩激情av在线播放| 亚洲欧美激情另类校园| 亚洲人成电影在线观看天堂色| 国产日产欧美a一级在线| 亚洲bt天天射| 欧美激情视频网| 欧美肥老妇视频| 欧美黑人巨大xxx极品| 最近2019年中文视频免费在线观看| 亚洲精品白浆高清久久久久久| 欧美与黑人午夜性猛交久久久| 81精品国产乱码久久久久久| 在线亚洲国产精品网| 欧美精品一区在线播放| 成人免费淫片视频软件| 亚洲精品美女久久久| 久久精品成人动漫| 欧美日本高清一区| 国产一区二中文字幕在线看| 国产精品流白浆视频| 亚洲成人a**站| 亚洲国产毛片完整版| 在线看欧美日韩| 狠狠色狠狠色综合日日小说| 亚洲精品一区中文字幕乱码| 麻豆一区二区在线观看| 91久久久久久久一区二区| 国产精品欧美激情在线播放| 日韩av在线播放资源| 国产欧美日韩精品在线观看| 国产欧美精品一区二区三区介绍| 456国产精品| 亚洲精品久久久久久久久久久久久| 亚洲色图35p| 日韩中文在线中文网三级| 国产精品一区二区久久精品| 欧美一区二区三区免费观看| 亚洲性视频网站| 久久久久久尹人网香蕉| 午夜欧美大片免费观看| 91视频88av| 欧美午夜片欧美片在线观看| 亚洲国模精品私拍| 日韩欧美国产成人| 亚洲女人天堂网| 久久免费精品视频| 国产精品久久久久久久午夜| 久久久精品视频在线观看| 亚洲视频一区二区| 日韩精品视频中文在线观看| 欧美激情女人20p| 日韩欧美精品网站| 久久久久久久久久久久av| 国产欧美日韩中文字幕| 国产精品久久99久久| 欧美在线精品免播放器视频| 欧美亚州一区二区三区| 久久99亚洲热视| 国产精品女主播视频| 色悠悠国产精品| 亚洲国产毛片完整版| 欧美另类在线播放| 日本午夜精品理论片a级appf发布| 日韩在线视频二区| 久久精品在线视频| 69av在线视频| 欧美日韩在线影院| 日韩电影免费在线观看| 久久久久久高潮国产精品视| 欧美激情伊人电影| 日本精品久久久久久久| 国产精品久久久久久久久久久新郎| 久久成人国产精品| 中文字幕精品一区二区精品| 久久精品国产一区二区电影| 成人av在线网址| 91精品国产高清久久久久久91| 欧美在线视频观看| 国产精品高潮粉嫩av| 精品国产一区二区三区久久久| 97视频网站入口| 7777精品久久久久久| 91色p视频在线| 久久久99久久精品女同性| 激情av一区二区| 中文字幕在线视频日韩| 欧美二区在线播放| 久久久成人av| 亚洲欧美国内爽妇网| 91精品视频在线播放| 97成人超碰免| 蜜月aⅴ免费一区二区三区| 久久精品国产91精品亚洲| 九九九热精品免费视频观看网站| 国产精品一区二区三区久久久| 久久久久久久国产精品| 日韩在线免费观看视频| 精品调教chinesegay| 国产精品网址在线| 欧美国产一区二区三区| 欧美国产中文字幕| 日韩在线观看精品| 在线国产精品视频| 亚洲精品国产精品乱码不99按摩| 夜夜狂射影院欧美极品| 7777精品视频| 98午夜经典影视| 欧美肥婆姓交大片| 午夜精品福利在线观看| 成人免费淫片视频软件|