修改使用VBA一个JSON值

问题描述 投票:1回答:1

我有以下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"
            }
          }
        ]

前缀在上述模板是用[]我写下面的代码在上面的模板来更新前缀如下的阵列

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

但输出JSON有前缀作为普通对象而不是数组

Output :  "prefix" : "ms"

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

json vba
1个回答
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))
© www.soinside.com 2019 - 2024. All rights reserved.