2016-11-09 17 views
-2

javaのオブジェクトの配列をループしています。私はこの値をクライアントサイドからjavaのサーバサイドにポストしています。Javaでオブジェクトの配列を繰り返し処理する

"userList": [{ 
    "id": "id1", 
    "name": "name1" 
}, 
{ 
    "id": "id2", 
    "name": "name2" 
}] 

ここで、各IDと名前の値を取得します。私はこの愚かな質問には申し訳ない[object Object]

:私は以下のコードを試みた:

for (Object temp : userList) 
     System.out.print(temp); 
     System.out.print(temp.getId()); 
    } 

をしかし私が手出力されます。しかし、私はどのようにIDと名前の価値を得るのだろうか?

+3

これはJavascriptではありませんか? – nasukkin

+3

まずオブジェクトをJSONObjectに変換します。 –

+0

@Zeroオブジェクトを使用する前にオブジェクトをモーダルクラスにキャストする必要があります。 – Acewin

答えて

0

印刷出力の表示方法に応じて、クラスに応じてtoStringメソッドを実装します。例えば

...

public class User { 
    private String id; 
    private String name; 

    // Constructors, field accessors/mutators, etc... 

    @Override 
    public String toString() { 
     return String.format("User {id: %s, name: %s}", this.id, this.name); 
    } 
} 
+0

なぜこれをダウン表示しましたか?これはまさに私がやることです。 'toString()'をオーバーライドします。 'System.out.println()'は 'temp'の' toString() 'を呼び出します。それがシステムの機能です。 +1 –

+2

@ j.seashell DownvotedこれはJavaの問題だったので、出力は 'some.Class @ 123abcd'になるためです。 '[object Object]'は、toString()がJavaScript *で呼び出されていることを示す特徴的なインジケータです。 – chrylis

+0

誰かがすべての応答をdownvotingされているLOL – Acewin

1

あなたのサーバーに送信する前に、クライアント側でJSONにあなたのJavaScriptオブジェクトをオンにしなかったので、あなたは[object Object]を取得している - あなたはのようなものを使用する必要がありますブラウザのJSON.stringify(object)

次に、JSONをある種のJava構造体に展開する必要があります。これを行うに好適な方法は、ジャクソンやGsonに見えるJavaオブジェクトにそれをマッピングなどの既存のツールを聞かせすることであるように:

class User { 
    String id; 
    String name; 
} 
あなたのフレームワークに依存します。これを行う方法

が、春のMVC(例えば)ほとんど自動的にサポートしています。

+0

投稿のタグではないので、これはjavascriptとは思わないでください。私はそれがちょうどjson文字列の 'String()'表現だと思う。 –

+0

@ j.seashell '[object Object]'はJavaScriptである** dead ** giveawayです。 (Javaの終端でデシリアライズすることについての質問もありますが、送信するJavaScriptを最初に修正する必要があります) – chrylis

+0

chrylisは正しいと言っています。手順をスキップできない特定の結果を得るためには、手順を実行する必要があります。そして、私は、否定的な投票によって応答を作成しているいくつかの愚かな人がいることを知っています – Acewin

-1

質問に完全な情報がありません。あなたは確かにステップをスキップしています。

javaでオブジェクトを使用する前に、オブジェクトをキャストする必要があります。

ArrayList<User> convertedUserList = (ArrayList<User>)userList; 
for (User temp : convertedUserList) 
    System.out.print(temp); 
    System.out.print(temp.getId()); 
} 
+0

あなたは何かについて不平を言う必要があるなら、メタや少なくともコメントのいずれかでこれをしてください。答え自体をきれいに保つ。 – Tom

+0

okはそうするでしょう.. – Acewin

関連する問題