簡體   English   中英

Python或Java中強大的json解析器

[英]Robust json parser in Python or Java

我正在尋找一種使用Python或Java的健壯的 json解析器(到目前為止,我一直在使用Python,但是由於我正在使用它來分析Java基准測試,因此使用Java是一種合理的選擇。)

關於刪節和不完整文件的魯棒性。

原因是我當前正在將caliper用於某些(微型)基准測試,並且在基准測試仍在運行 (或者如果我過早取消它)的情況下,輸出文件將不是完整的JSON文檔。 jsonsimplejson都不會讀取這些在某些時候被截斷的文件。

(我不喜歡Caliper Web界面,因為它速度慢,無法擴展到大型實驗集,並且很多數據提交失敗,然后從運行中丟失。)

大致而言,文檔如下所示:

[
  {
    // first record, in multiple lines
  },
  {
    // second record, in multiple lines
  },
  {
    // truncated record.

現在,我正在使用一個討厭的hack,該漏洞使用caliper當前產生的已知縮進來將},\\n\\ \\ {處的結果文檔拆分為大塊,然后僅解析它們,直到最后一個失敗為止。 但這是一個令人討厭的駭客,並且對卡尺輸出的未來變化並不穩健。 我也嘗試過使用raw_decode ,但是它仍然需要完整的文檔,並且不會在每個},處返回有意義的結果。

我正在尋找類似於XML pull的API,這將允許我在基於事件的API中訪問文檔,直到被截斷為止。 本質上,我對wrapper []中的所有完整{}部分感興趣。

Jackson支持基於事件的解析。 它還允許您流式傳輸文檔,但將樹API用於您感興趣的部分。 有一個博客文章展示了這種方法在這里

暫無
暫無

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

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