狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

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

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

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

<%
'假設(shè) JSON 數(shù)據(jù)
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
        
        ' 處理數(shù)字值
        If IsNumeric(value) Then
            value = CDbl(value)
        End If
        
        ' 處理布爾值
        If value = "true" Then
            value = True
        ElseIf value = "false" Then
            value = False
        End If
        
        ' 處理數(shù)組
        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
    
    ' 分割數(shù)組元素
    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
        
        ' 處理數(shù)字值
        If IsNumeric(item) Then
            item = CDbl(item)
        End If
        
        ' 處理布爾值
        If item = "true" Then
            item = True
        ElseIf item = "false" Then
            item = False
        End If
        
        ' 處理數(shù)組
        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)

' 輸出結(jié)果
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 解析庫的情況下,可以作為一種臨時的解決方案。不過,對于復(fù)雜的 JSON 數(shù)據(jù)結(jié)構(gòu),可能需要進一步優(yōu)化和擴展這個方法。建議在實際應(yīng)用中,盡量使用成熟的 JSON 解析庫來提高效率和可靠性。


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