0

"someJSONObject"假设我有一个带有以下值的属性的 NotesDocument :

"{
 "someObject": 
  {
   "objId": "someId"
   "Object_Name": "objName",
   "Alternative_Name" : "altName",
   "Alias_Name" : "alias"
  }
}"

我的问题是如何"objId"以这种方式在 Notes View 中获取属性以使用它,因此我可以将其用作搜索标准。只有“简单函数”、“字段”、“公式”可用。我怎样才能把它写在那里,而不是仅仅为了排序而写重复的字段?

4

2 回答 2

0

这里有一些用公式来做的行:首先使用@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 ; "\"" )

这样做是为了向下兼容,因为旧版本的笔记不理解大括号。

于 2018-03-22T09:06:05.690 回答
0

您已经在项目中使用JSON LotusScript 类

创建一个 LotusScript 代理

  • 使用 JSON 字段在您的所有文档上运行,并且
  • 借助 JSON LotusScript 类提取所需的值,并
  • 将它们放在单独的文档字段中
  • 可以在视图的列中使用

如果您已经使用一些 LotusScript 代码编写了 JSON 字段,您可以在此处添加字段分隔。

于 2018-03-22T13:58:35.197 回答