簡體   English   中英

如何將 Edn 字符串轉換為 Json

[英]How to Convert Edn string to Json

我必須從一些用edn body發回響應的站點檢索數據。 我正在嘗試將發回的Edn轉換為Json以便我可以用 Jsoup 解析它。

我找到了一個能夠進行轉換的網站,但是如何在java中實現類似的東西?

我嘗試了這樣的事情,但它並沒有完成工作:

public static String edmToJson(String edm) {
    String json = edm;
    json = json.replaceFirst("(\\(\\{).*?(}\\))", "1").replace("(", "").replace("})", "").replace("} {", "},{");
    return json;
}

有沒有辦法在不使用閉包的情況下做到這一點?

您可以使用類似edn-java的庫來解析 java 中的 EDN 數據。

示例用法:

@Test
public void simpleUsageExample() throws IOException {
    Parseable pbr = Parsers.newParseable("{:x 1, :y 2}");
    Parser p = Parsers.newParser(defaultConfiguration());
    Map<?, ?> m = (Map<?, ?>) p.nextValue(pbr);
    assertEquals(m.get(newKeyword("x")), 1L);
    assertEquals(m.get(newKeyword("y")), 2L);
    assertEquals(Parser.END_OF_INPUT, p.nextValue(pbr));
}

完整的文檔可在edn-java獲得

暫無
暫無

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

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