代码之家  ›  专栏  ›  技术社区  ›  Lothar Mueller

我可以使用Domino10 NotesJSON对象修改JSON树吗?

  •  1
  • Lothar Mueller  · 技术社区  · 7 年前

    我目前正在测试lotusscript中新的Domino10.0.1 notesjson*对象,以查看是否可以使用它们替换当前使用的 openNTF JSON LS Classes .

    因为几乎没有任何文件(还没有?)我在黑暗中摸索着。

    下面是我的JSON树的简化版本:

    [{
            "unid": "9534A90AC433D729C1258384003350B5",
            "description": "just kidding",
            "content": [{
                    "unid": "ABAE2585498B4E05C125832F0046701B",
                    "company": "edcom"
                }, {
                    "unid": "6C5F751CE39BF1B6C125832F0046701C",
                    "company": "ibm"
                }
            ]
        }
    ]
    

    目的是用元素本地化任何“内容”对象 "company":"ibm" ,然后将此更改为 "company":"hcl" .

    问题是:我显然只能读取元素值(在lotusscript调试器中,我看到了具有正确值和类型的正确元素)。不幸的是,lotuscript编辑器没有提供任何更改值的方法,因此我尝试了以下方法:

    Set nJsElem = vItems.GetElementByName("company")
    If(nJsElem.Value = "ibm") Then
        nJsElem.Value = "hcl"
    End If
    

    至少在此之后,调试器没有显示任何更改。

    更不用说,我不知道如何从修改中创建新的JSON字符串。

    问题:这不可能吗?还是我看错了?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Dave Delay Frank van der Linden    7 年前

    证实。你可以使用 NotesJSONNavigator 类来分析JSON输入。截至10.0.1,没有lotusscript支持构建、修改、序列化JSON。