2017-05-06 16 views
-3

フィールドに次の順番でデータを保存するAPIが与えられました:["Hello","world","confused"]与えられたデータ構造を構築するには?それの名前は?

データを入力として渡す前に、このようにフォーマットする方法がわかりません。 テキスト値はチェックボックスから取得されます。 配列に保存すると"[hello,world,confused]"という形式になります。

+0

を編集することができます知っている、あなたの質問を誤解している場合これは配列としてではなく、単一の文字列として保存するためです。配列( 'type [] array')またはリスト(' List list'または 'ArrayList list')またはマップ(' HashMap Zoe

+0

ようこそ。コードやエラーメッセージなどの問題を説明するための十分かつ具体的な情報を使用して質問を改善するには、この[how-to-ask](http://stackoverflow.com/help/how-to-ask)をお読みください。 – thewaywewere

答えて

0

生の値を単一の文字列に保存します。あなたは配列、リスト、またはマップとして保存する必要があります。私はこの答えに地図の使用法を示しません。例:

//Get the Strings 
String ex1 = "hello"; 
String ex2 = "world"; 
String ex3 = "confused"; 

//Array 
String[] s = new String[3]; 
s[0] = ex1; 
s[1] = ex2; 
s[2] = ex3; 
//List 
List<String> list = new ArrayList<>(); 
list.add(ex1); 
list.add(ex2); 
list.add(ex3); 

インターネットで送信してデータを受信すると、生の文字列として送信されます。次に、リストに変換して、容易にします。これらのリストに入れている

StringBuilder sb = new StringBuilder(); 
sb.append("[\""); 

for(int i = 0; i < list.size()/*or .length if it is an array*/; i++){ 
    if(i == list.size() - 1) 
     sb.append(list.get(i)/*or array[i]*/ + "\"]"); 
    else 
     sb.append(list.get(i)/*or array[i]*/ + "\",\""); 
} 
String f = sb.toString(); 
//Display list: TextView, print to console, whatever you want to do 

それは手動ですべての文字列を追加するよりも、リストがループする方がはるかに簡単ですので:文字列の量が変動した場合、これが最も簡単な方法です。

文字列の量が静的な場合は、String.Formatのを使用することができます。

String f = String.format(Locale.ENGLISH, "[\"%s\",\"%s\",\"%s\"]", ex1, ex2, ex3); 

私は何とか私が私であることを私の答え

+0

よろしくお願いします.URLコードのように見えますが、解決しました...チェックボックスがチェックされているときにJsonArrayに値を追加しました.jsonobjectにnを追加しました。迅速な対応を心がけています – Aditya

関連する問題