2017-06-01 94 views

回答

1

將需要找到的所有密鑰添加到列表/集合中。然後你可以使用

myKeyList.stream().allMatch(key->jsonStr.has(key)) 

,看看是否所有的鍵出現在JSONObject的

1

基本上...號

大多數的JSONObject實現使用java.util.Map其中JSON性質被保留。主要是因爲一個Map只有一個方法boolean containsKey(Object key);,大多數如果不是所有的實現都沒有檢查多個鍵的方法。

1

如果你看看JsonObject實施,它採用LinkedTreeMap來存儲所有元素:

private final LinkedTreeMap<String, JsonElement> members = 
    new LinkedTreeMap<String, JsonElement>(); 

它也有一個keySet()方法,該方法將返回Set<String>但FPGA實現使用功能完全一樣( find()作爲has()函數。

所以,你有以下幾種選擇:

  1. 遍歷你鑰匙的名單要在JSONObject
  2. ,以檢查是否存在創建自己的解串器,這將創造目前在反序列化的鍵Set<String>字符串,你將能夠有效比較你想要的密鑰的Set<String>
相關問題