如何删除”,”从一个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