gpt4 book ai didi

json - 如何在 Excel VBA 中从这个简单的 JSON 字符串中提取值?

转载 作者:行者123 更新时间:2023-12-03 02:43:27 27 4
gpt4 key购买 nike

我在 VBA 中有这个简单的 json 字符串:

{
price_A: "0.172",
price_B: "0.8",
price_C: "1.3515"
}

我想提取 price_A 的值,即 0.172

如何在 Excel VBA 中完成此操作?我使用的是 Microsoft Office 2013。

我不需要大量的 JSON 库。只是一个提取 price_A 值的简单函数。

最佳答案

正则表达式可以让您更好地控制解析,而不是依赖于字符长度。

举个例子:

Sub test_Function()
Dim StrIn As String

StrIn = "{" & _
"price_A: " & Chr(34) & "0.182" & Chr(34) & "," & _
"price_B: " & Chr(34) & "0.8" & Chr(34) & "," & _
"price_C: " & Chr(34) & "1.3515" & Chr(34) & "}"

MsgBox Get_Value(StrIn)

End Sub

提取价格 A 之后 "" 中的第一组数字。可用于检查价格 B

Public Function Get_Value(StrIn As String) As String  
Dim objRegexp As Object
Dim objRegMC As Object
Set objRegexp = CreateObject("vbscript.regexp")
With objRegexp
.Pattern = "price_A: ""([\d\.]+)"""
If .test(StrIn) Then
Set objRegMC = .Execute(StrIn)
Get_Value = objRegMC(0).submatches(0)
End If
End With
End Function

提取第一组数字的简短版本

Public Function Get_Value(StrIn As String) As String
Dim objRegexp As Object
Set objRegexp = CreateObject("vbscript.regexp")
With objRegexp
.Pattern = "[\d\.]+"
If .test(StrIn) Then Get_Value = .Execute(StrIn)(0)
End With
End Function

关于json - 如何在 Excel VBA 中从这个简单的 JSON 字符串中提取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30568435/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com