簡體   English   中英

用於解析任何json文件的Java代碼,無論其格式或密鑰如何

[英]Java code to parse any json file irrespective of its format or key

我一直在尋找很多天但沒有得到任何答案。 所以最后我來到這個網站。 是否有任何java代碼或任何庫可以解析任何json文件,無論其格式如何,也不知道json文件中存在的所有鍵。

無論給出什么json文件,它都可以顯示其中的所有鍵值對。

您還可以試用Genson http://code.google.com/p/genson/

如果根是一個對象,則可以將json文件反序列化為映射(否則它是一個數組,並且您反序列化為一個數組)。

FileReader reader = new FileReader("path/to/your/json");
Map<String, Object> map = new Genson().deserialize(reader, Map.class);

根據您希望實現更好性能的目的,您可以直接使用流式api(但需要編寫更多代碼)。 你只想打印鍵/值?

Genson擁有完整的數據綁定支持並提供了一些其他不錯的功能,請查看wiki

傑克遜的表現非常好。

 final Map<String, Object> son = objectMapper.readValue(JSON_SOURCE,
      new TypeReference<Map<String, Object>>() {}
 );

其中JSON_SOURCE可以是StringReaderFilebyte[]InputStream等。(參見: ObjectMapper文檔

此代碼段與針對此問題發布的其他(類似)答案略有不同。 注意以上用途:

  1. 傑克遜的TypeReference而不是Class對象
  2. 接口Map而不是特定的實現(例如HashMap

暫無
暫無

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

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