>假设我有一个 NotesDocument,其中包含一个名为 "someJSONObject"
的属性,具有以下值:
"{
"someObject":
{
"objId": "someId"
"Object_Name": "objName",
"Alternative_Name" : "altName",
"Alias_Name" : "alias"
}
}"
我的问题是我如何让"objId"
属性以这种方式在 Notes View 中使用它,以便我能够将其用作搜索条件。只有"简单函数","字段","公式"可用。我怎样才能在那里写它,而不是仅仅为了排序目的而写重复字段?
这里有一些行可以用公式来做: 首先用@Explode将值拆分成一个数组,然后找到带有"objID"的行/行并从中获取值。如果 JSON 中有多个 objID- 标签,则此代码甚至有效。
_allVals := @Explode( someJSONObject; @Newline );
REM "Depending of the origin of your data, you need to replace @NewlIne by @Char( 10 ) , @Char( 13 ) or a combination of them";
_objIDString := @Trim( @Right( _allVals ) ; {"objId": } ) );
_objID := @LeftBack( @Right( _objIDString ; {"} ) ; {"} );
_objID
只有一个评论:保存后,大括号将被"替换,并且它们中的所有"都将被"\"掩盖。
然后,此代码:@Right( _objIDString ; {"} )
将如下所示@Right( _objIDString ; """ )
这样做是为了向下兼容,因为旧版本的笔记不理解大括号。
您已经在项目中使用了 JSON LotusScript 类。
创建一个 LotusScript 代理程序
- 使用 JSON 字段在所有文档上运行,并且
- 在JSON LotusScript类的帮助下提取所需的值,并
- 将它们放在单独的文档字段中
- 可以在视图的列中使用
如果您已经使用一些 LotusScript 代码编写了 JSON 字段,则可以在此处添加字段分隔。