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

时间:2019-01-25 16:16:18

标签: json lotus-domino lotusscript

我目前正在LotusScript中测试新的Domino 10.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调试器中,我看到具有正确的值和类型的正确的元素)。不幸的是,LotusScript编辑器没有提供任何更改值的方法,所以我尝试了以下方法:

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

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

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

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

1 个答案:

答案 0 :(得分:2)

已确认。您可以使用NotesJSONNavigator类来解析JSON输入。从10.0.1开始,没有LotusScript支持构建,修改和序列化JSON。