如何刪除」,」從一個JSON陣列? 想過一個正則表達式,但即時通訊不熟悉如何對其進行過濾,或可能有一個更簡單的方法?JSONarray爲字符串沒有「
我的電流輸出:["ceratia","direwolf1102","fctwentegirl","nightbot","onecat","sohappybot"]
,我需要它是:
ceratia direwolf1102 fctwentegirl nightbot onecat sohappybot
如何刪除」,」從一個JSON陣列? 想過一個正則表達式,但即時通訊不熟悉如何對其進行過濾,或可能有一個更簡單的方法?JSONarray爲字符串沒有「
我的電流輸出:["ceratia","direwolf1102","fctwentegirl","nightbot","onecat","sohappybot"]
,我需要它是:
ceratia direwolf1102 fctwentegirl nightbot onecat sohappybot
我會避免操縱與toString()
方法創建的字符串,因爲它很容易刪除的東西,你不想讓說您的令牌包含的內容。 [
或]
。這意味着您不能簡單地致電replace("]","")
,因爲它將刪除所有]
,包括字符串值中的一個。同樣約"
或","
。
相反,只需遍歷你得到的數組,將所有的標記放在StringJoiner中,使用空格作爲分隔符,然後打印該連接器。
JSONArray arr = new JSONArray();
arr.put("foo");
arr.put("bar");
System.out.println(arr);//to show incorrect format
StringJoiner sj = new StringJoiner(" ");
for (int i = 0; i < arr.length(); i++){
sj.add(arr.getString(i));
}
System.out.println(sj);
輸出:
["foo","bar"]
foo bar
但這隻會刪除基於給定文本的東西嗎?我上面發佈的用戶名每次都會有所不同。 – user3220962
@ user3220962「基於給定文本」是什麼意思?如果你指的是「foo」和「bar」,那麼它在這裏只是作爲一個例子來顯示結果的差異。你可以使用'JSONArray arr = json.getJSONObject(「chatters」)。getJSONArray(「moderators」)'獲得你想要的數據給你自己的JSON數組。 – Pshemo
啊現在我明白了x)首先,我想一步一步地使用str.replace並逐個刪除部件,但是您的操作非常簡單。 :d – user3220962
我不明白。只需解析數組,並打印其值。或者用一個空格作爲分隔符來累積它們。 –
你能分享你實施的代碼嗎? – Sid
它很難共享代碼,因爲它不是全部在同一個地方:p知道iw的東西,最終我有一個json ARRAY如上圖所示,我想輸出它沒有「,」所以即時通訊尋找一個簡單的方法來轉換它 – user3220962