首页 > 解决方案 > 字典项未正确填充

问题描述

我对此一无所知。我有一个像下面这样的列表,可以随时使用。我希望能够创建一个数组或集合,以便我可以在循环中进一步使用它。

Xob::SISBTXTRPR-5298 
Xob::SISBTXTRPR-5326 
Xob::SISBTXTRPR-5327 
Xob::SISBTXTRPR-5328
Yob::SISBTXTRPR-3999
Yob::SISBTXTRPR-4000

我试图创建一个如下所示的字典项,但输出不是我所期望的

While i <= iPuntedIssuesCount 
    If sRemovedStoriesForTaskTracker.Exists(Trim(JSONObj("contents")("puntedIssues")(i)("assigneeName"))) Then
        sRemovedStoriesForTaskTracker(Trim(JSONObj("contents")("puntedIssues")(i)("assigneeName"))) = sRemovedStoriesForTaskTracker(Trim(JSONObj("contents")("puntedIssues")(i)("assigneeName"))) & " + " & JSONObj("contents")("puntedIssues")(i)("key") 
    Else
        sRemovedStoriesForTaskTracker.Add key:=Trim(JSONObj("contents")("puntedIssues")(i)("assigneeName")), Item:=JSONObj("contents")("puntedIssues")(i)("key")
    End If
    i = i + 1
Wend

sRemovedStoriesForTaskTracker 是字典项。我得到的字典项目中的输出是这样的:

Xob::SISBTXTRPR-5298 + SISBTXTRPR-5326 + SISBTXTRPR-5327 + SISBTXTRPR-5328. 

我希望字典像这样填充

Xob::SISBTXTRPR-5298 
Xob::SISBTXTRPR-5326 
Xob::SISBTXTRPR-5327 
Xob::SISBTXTRPR-5328

标签: vbadictionary

解决方案


您没有显示您的源 JSON,或者您如何输出字典值,并且您发布的代码似乎与您所说的不匹配。

在任何情况下,如@Damian 所述,您发布的代码将从使用一些变量中受益匪浅。它是如此密集,很难跟随。

While i <= iPuntedIssuesCount

    Set d = JSONObj("contents")("puntedIssues")(i)
    k = Trim(d("assigneeName"))
    v = d("key")

    If dictRemoved.Exists(k) Then
        dictRemoved(k) = dictRemoved(k) & " + " & v 
    Else
        dictRemoved.Add k, v
    End If
    i = i + 1

Wend

推荐阅读