如何在VB6中解析JSON字符串

3

我正在VB6中调用一个返回json字符串响应的web服务。我能够将响应保存在字符串中。现在我想单独显示每个参数,如何从字符串中提取值?下面是一个示例字符串:

{
    "id": "22144",
    "t" : "AAPL",
    "e" : "NASDAQ",
    "l" : "108.00",
    "l_fix" : "108.00",
    "l_cur" : "108.00",
    "s": "2",
    "ltt":"4:00PM EDT",
    "lt" : "Aug 10, 4:00PM EDT",
    "lt_dts" : "2016-08-10T16:00:01Z",
    "c" : "-0.81",
    "c_fix" : "-0.81",
    "cp" : "-0.74",
    "cp_fix" : "-0.74",
    "ccol" : "chr",
    "pcls_fix" : "108.81",
    "el": "107.98",
    "el_fix": "107.98",
    "el_cur": "107.98",
    "elt" : "Aug 10, 5:16PM EDT",
    "ec" : "-0.02",
    "ec_fix" : "-0.02",
    "ecp" : "-0.02",
    "ecp_fix" : "-0.02",
    "eccol" : "chr",
    "div" : "0.57",
    "yld" : "2.11"
}

1
可能是VB6 / VBA是否有JSON解析器?的重复问题。 - C-Pound Guru
这个回答解决了你的问题吗?在Excel VBA中解析JSON - GSerg
2个回答

3

我发现在VB6中解析json,VB-JSON效果非常好。

你可以从这里下载它。

VB-JSON: Visual Basic 6 (VB6) JSON解析器类库

你下载的.zip文件将包含一个示例项目和名为JSON.bas的库。

主要的解析函数是JSON.parse,你需要将json字符串作为参数传递给它。

因此,在你的项目中,你只需要包含/添加JSON.bas文件即可。

示例用法(来自示例项目):

Private Sub cmdObjToJSON_Click()

   Dim p As Object

   Dim sInputJson As String
   sInputJson = "{ width: '200', frame: false, height: 130, bodyStyle:'background-color: #ffffcc;',buttonAlign:'right', items: [{ xtype: 'form',  url: '/content.asp'},{ xtype: 'form2',  url: '/content2.asp'}] }"

   MsgBox "Input JSON string: " & sInputJson

   ' sets p
   Set p = JSON.parse(sInputJson)

   MsgBox "Parsed object output: " & JSON.toString(p)

   MsgBox "Get Bodystyle data: " & p.Item("bodyStyle")

   MsgBox "Get Form Url data: " & p.Item("items").Item(1).Item("url")


   p.Item("items").Item(1).Add "ExtraItem", "Extra Data Value"

   MsgBox "Parsed object output with added item: " & JSON.toString(p)


End Sub

适用于您的情况。以下内容可能适用(如有必要,可进行微调)。
Dim parsedJsonObject As Object
Set parsedJsonObject = JSON.parse(yourJsonStringVariable)

'Print the ticker ( t in your json )
Debug.Print parsedJsonObject.Item("t")

这里有没有办法获取jsonarry的长度? - Dilip Poudel

1

有一款针对Visual Basic的JSON解析器库,您可以在http://json.org/中找到。 您可以使用VB-JSON或PW.JSON。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接