簡體   English   中英

正則表達式從JSON字符串中提取對象

[英]Regex To Extract An Object From A JSON String

我有JSON字符串,我想使用Regex從中提取字段。 該字段可以是ObjectArrayStringint或任何類型。 我知道另一種方式,例如遍歷JSON中的所有鍵並找到它。 我想知道,這可以使用Regex來實現。 任何幫助都會很棒。

是否可以使用正則表達式來實現

不合理,不,因為正則表達式不適合自行解釋JSON之類的結構; 與HTML一樣,您需要一個適當的解析器。

相反,可以使用幾種Java庫中的任何一種來解析JSON,然后遍歷其內容。 在JSON網站的底部有一個列表(我看到Gson使用了很多,但是有很多選擇)。

它可以通過正則表達式實現,但它根本一文不值,因為您必須解析自己的變量。

無論如何,可以說我們有一個方法getObject(String key, String JSON)

public String getObject(String key, String JSON) {
   Pattern p = Pattern.compile(String.format("\"%s\":\\s*(.*),", key));
   Matcher matcher = pattern.matcher(JSON);
   if(matcher.find())
      return matcher.group();
   return null;
}

請注意,這只會找到第一個事件,您應該根據需要對其進行修改。 但是,我建議您使用解析器為您解析值。

最好使用JSON反序列化工具(例如Jackson,GSON),獲取對象並檢查,

暫無
暫無

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

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