欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

除了Jscript,還有其他在ASP中解析JSON的方式嗎?

admin
2025年1月1日 17:1 本文熱度 130

以下是另一種在 ASP 中解析 JSON 的方法,使用 VBScript 的內置函數和正則表達式來模擬部分 JSON 解析功能:

<%
'假設 JSON 數據
Dim jsonData
jsonData = '{"name":"John","age":30,"hobbies":["reading","coding","gaming"]}'

Function parseJSON(jsonStr)
    Dim obj, pair, key, value
    Set obj = CreateObject("Scripting.Dictionary")
    
    ' 分割鍵值對
    Dim matches
    Set regEx = New RegExp
    regEx.Pattern = """([^""]+)""\s*:\s*(.+?)(?=\s*,\s*""[^""]+""\s*:\s*|$)'
    Set matches = regEx.Execute(jsonStr)
    
    For Each match In matches
        pair = match.SubMatches
        key = pair(0)
        value = pair(1)
        
        ' 處理字符串值
        If Left(value, 1) = """' And Right(value, 1) = """ Then
            value = Mid(value, 2, Len(value) - 2)
        End If
        
        ' 處理數字值
        If IsNumeric(value) Then
            value = CDbl(value)
        End If
        
        ' 處理布爾值
        If value = "true" Then
            value = True
        ElseIf value = "false" Then
            value = False
        End If
        
        ' 處理數組
        If Left(value, 1) = "[" And Right(value, 1) = "]" Then
            value = parseArray(value)
        End If
        
        ' 處理對象
        If Left(value, 1) = "{" And Right(value, 1) = "}" Then
            value = parseJSON(value)
        End If
        
        obj.Add key, value
    Next
    
    Set parseJSON = obj
End Function

Function parseArray(arrStr)
    Dim arr, item
    Set arr = CreateObject("Scripting.Dictionary")
    Dim index = 0
    
    ' 分割數組元素
    Dim matches
    Set regEx = New RegExp
    regEx.Pattern = "\s*(.+?)\s*(?=\s*,\s*|$)"
    Set matches = regEx.Execute(arrStr)
    
    For Each match In matches
        item = match.SubMatches(0)
        
        ' 處理字符串值
        If Left(item, 1) = """' And Right(item, 1) = """ Then
            item = Mid(item, 2, Len(item) - 2)
        End If
        
        ' 處理數字值
        If IsNumeric(item) Then
            item = CDbl(item)
        End If
        
        ' 處理布爾值
        If item = "true" Then
            item = True
        ElseIf item = "false" Then
            item = False
        End If
        
        ' 處理數組
        If Left(item, 1) = "[" And Right(item, 1) = "]" Then
            item = parseArray(item)
        End If
        
        ' 處理對象
        If Left(item, 1) = "{" And Right(item, 1) = "}" Then
            item = parseJSON(item)
        End If
        
        arr.Add index, item
        index = index + 1
    Next
    
    Set parseArray = arr.Items
End Function

' 解析 JSON
Set parsedObj = parseJSON(jsonData)

' 輸出結果
Response.Write("Name: " & parsedObj("name") & "<br>")
Response.Write("Age: " & parsedObj("age") & "<br>")

Dim hobby
For Each hobby In parsedObj("hobbies")
    Response.Write("Hobby: " & hobby & "<br>")
Next

Set parsedObj = Nothing
%>

?這種方法雖然比較繁瑣,但在沒有合適的 JSON 解析庫的情況下,可以作為一種臨時的解決方案。不過,對于復雜的 JSON 數據結構,可能需要進一步優化和擴展這個方法。建議在實際應用中,盡量使用成熟的 JSON 解析庫來提高效率和可靠性。


該文章在 2025/1/1 17:01:58 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved