如何根据Notes视图中的JSON中的某些属性进行搜索

时间:2018-03-22 07:39:59

标签: json lotus-notes lotusscript notesview

假设我有一个带有名为"someJSONObject"的属性的NotesDocument,其值如下:

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

我的问题是如何以这种方式获取"objId"属性以在Notes视图中使用它,因此我可以将其用作搜索条件。只有“简单功能”,“字段”,“公式”可用。我怎么能在那里写它,而不是仅仅为了排序而写重复的字段?

2 个答案:

答案 0 :(得分: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 ; "\"" )

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

答案 1 :(得分:0)

您已在JSON LotusScript Classes中使用project

创建一个

的LotusScript代理
  • 使用JSON字段和
  • 在所有文档上运行
  • 借助JSON LotusScript Classes和
  • 提取所需的值
  • 将它们放在单独的文档字段中
  • 可以在视图列中使用

如果你已经用一些LotusScript代码编写JSON字段,你可以在那里添加字段分隔。