簡體   English   中英

從多米諾骨牌訪問服務中刪除方括號

[英]remove square brackets from domino access services

我想通過Domino訪問服務(DAS)作為Java中的REST提供程序來訪問Domino數據,例如

String url = "http://malin1/fakenames.nsf/api/data/collections/name/groups";
ObjectMapper mapper = new ObjectMapper();
JsonFactory factory = new JsonFactory();
JsonParser parser = factory.createParser(new URL(url));
JsonNode rootNode = mapper.readTree(parser);

但是,我注意到DAS將JSON綁定在方括號中:

[
  {
      "@entryid":"1-D68BB54DEA77AC8085256B700078923E",
      "@unid":"D68BB54DEA77AC8085256B700078923E",
      "@noteid":"1182",
      "@position":"1",
      "@read":true,
      "@siblings":3,
      "@form":"Group",
      "name":"LocalDomainAdmins",
      "description":"This group should contain all Domino administrators in your domain. Most system databases and templates give people in this group Manager access."
  },
 {
      "@entryid":"3-9E6EABBF405A1A9985256B020060E64E",
      "@unid":"9E6EABBF405A1A9985256B020060E64E",
      "@noteid":"F46",
      "@position":"3",
      "@read":true,
      "@siblings":3,
      "@form":"Group",
      "name":"OtherDomainServers",
      "description":"You should add all Domino servers in other domains with which you commonly replicate to this group."
  }
]

如何輕松擺脫這些括號?

如前所述,您應該保持它們完整無缺。 您可以使用Jackson來解析JSON數組。

在下面找到示例片段

import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.ObjectMapper;
...

String response = ... your posted string
ObjectMapper mapper = new ObjectMapper();
try {
    JsonNode taskIdsjsonNode = mapper.readTree(response);
    for (JsonNode next : taskIdsjsonNode) {
        System.out.printf("%s: %s%n", "@entryid", next.get("@entryid"));
        System.out.printf("%s: %s%n", "name", next.get("name"));
    }
} catch (.... ) {
    // your exception handling goes here
}

輸出

@entryid: "1-D68BB54DEA77AC8085256B700078923E"
name: "LocalDomainAdmins"
@entryid: "3-9E6EABBF405A1A9985256B020060E64E"
name: "OtherDomainServers"

括號不是討厭的,而是正確的符號。 要訪問內容,只需在客戶端腳本中使用[0]或與Java中的JSON解析器一起使用即可。

也許這里的解釋可以幫助您:

https://quintessens.wordpress.com/2015/05/08/processing-json-data-from-domino-access-services-with-jackson/

基本上,您是通過Jersey客戶端建立對DAS的調用,然后通過Jackson庫將json解析為Java中的地圖。

在解析過程中,您可以定義要解析和轉換的值。

看一下Person類...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM