2017-03-24 10 views
-3

はどのように私は削除することができ、」なし」?正規表現が、それをフィルタリングしたり、多分もっと簡単な方法がある方法に精通していないイムについて 考えは?JSONarray「

私の現在の出力があります:["ceratia","direwolf1102","fctwentegirl","nightbot","onecat","sohappybot"]

と私はそれをする必要があります、あなたがしたくないものを削除するのは簡単ですので、私は、toString()方法で作成した文字列を操作避けるだろう

ceratia direwolf1102 fctwentegirl nightbot onecat sohappybot 
+1

私は理解していません。配列を解析し、その値を出力するだけです。または、セパレータとしてスペースを入れてそれらを累積します。 –

+0

実装したコードを共有できますか? – Sid

+0

それは同じ場所のすべてではないので、コードを共有するのは難しいです:p私が知っている事は、私は上に示されているようにjson ARRAYを持っていて、私は "、"それを変換する簡単な方法 – user3220962

答えて

2

含まれているあなたのトークンを言うことができます。 [または]。つまり、replace("]","")を呼び出すことはできません。文字列値から1つを含む]がすべて削除されるからです。 "または","と同じです。

あなたが持っている配列を単純に反復処理する代わりに、区切り文字としてスペースを使用してすべてのトークンを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 
+0

しかし、それは与えられたテキストに基づいて物事を取り除くだけでしょうか?上記のユーザ名は毎回異なるでしょう。 – user3220962

+0

@ user3220962「特定のテキストに基づいて」とはどういう意味ですか?あなたが "foo"と "bar"を指しているのであれば、ここでは結果の違いを示すために例として使用されています。 'JSONArray arr = json.getJSONObject(" chatters ")。getJSONArray(" moderators ")'を使って、あなたが望むデータであなた自身のJSON配列を得ることができます。 – Pshemo

+0

ああ今、私はxを理解しています)まず、str.replaceをステップバイステップで使用することを考え、部品を1つずつ削除しましたが、あなたのものはずっと簡単です。 :D – user3220962