使用VBA修改JSON值

时间:2019-02-06 10:55:43

标签: json vba

我有下面的JSON结构要修改。我期望值以行和列的形式存储在excel中,模板保存在文件中

模板的一部分如下:

"name" : [
          {
           "use" : "official",
            "text" : "MS JOHN DOE II",
            "family" : "DOE",
            "given" : [
              "JOHN"
            ],
            "prefix" : [
              "MS"
            ],
            "suffix" : [
              "II"
            ],
            "period" : {
              "end" : "2019-01-22T14:33:53Z"
            }
          }
        ]

上面模板中的前缀是带有[]的数组 我正在编写以下代码,以更新以下模板中的Prefix,如下所示:

resource ("resource")("name")(1)("prefix") = Cstr(ws.Cells(i,j))

但是输出JSON的前缀是普通对象而不是Array

Output :  "prefix" : "ms"

如何编写正确的语法?请帮助和指导!

1 个答案:

答案 0 :(得分:2)

似乎您需要修改集合中的项目。为此,您需要删除该项目并将其替换为更新后的值。

Option Explicit
Public Sub demo()
    Dim col As Collection
    Set col = New Collection
    col.Add "Orange"
    Debug.Print col.Item(1)
    col.Remove 1
    col.Add "Banana"
    Debug.Print col.Item(1)
End Sub

类似的东西:

resource ("resource")("name")(1)("prefix").Remove 1
resource ("resource")("name")(1)("prefix").Add Cstr(ws.Cells(i,j))