2016-11-24 4 views
0
List userList = Arrays.asList(
      new User[] { 
       new User("FirstA", "LastA"), 
       new User("FirstB", "LastB"), 
       new User("FirstC", "LastC") 
       }); 


    add(new ListView("listview", userList) { 
     protected void populateItem(ListItem item) { 
      User user = (User) item.getModelObject(); 
      item.add(new Label("firstname", user.getFirstname())); 
      item.add(new Label("lastname", user.getLastname())); 
     } 
    }); 

上記のコードは、List userListから値を追加し、FirstnameとLastNameをTableに表示します。Wicket:JavaのListViewにjsonを渡す

JSONObjectをListViewに渡す必要があります。

JSONスキーマ -

{"schema":[{"name":"John","id":"01"},{"name":"Sam","id":"02"}]} 

JSONは、データベースから渡された -

JSONObject json=widget.getJsonForTableContent(query); //QUERY from Database 
    json.toString(); 
    System.out.println(json); //Prints json - {"schema":[{"name":"John","id":"01"},{"name":"Sam","id":"02"}]} 
    Iterator<String> iter=json.keys(); 
    while(iter.hasNext()) 
    { 
     String key = iter.next(); 
     System.out.println(key); //prints only "schema" from json in console 
    } 

キー値のプリントコンソールで唯一の "スキーマ"。ここで私はちょうどbeginner.Anyヘルプがappreciated.Thankyou

+0

最も効率的なアプローチをお探しなら、下記の私の答えのように標準のJSONパーサAPIを使用することをお勧めします。複雑な表現を解析する方法を学ぶことが目標であれば、質問/回答の枠組みを別々にする必要があります。 – clearlight

答えて

0

だろうしていますどのように改札表に

を表示するようにしても、「名前」と「ID」を印刷して、リストビューにこれらの値を渡すためにJSONを解析し、反復処理する

URL url = new URL("https://graph.facebook.com/search?q=java&type=post"); 
try (InputStream is = url.openStream(); 
     JsonParser parser = Json.createParser(is)) { 
    while (parser.hasNext()) { 
     Event e = parser.next(); 
     if (e == Event.KEY_NAME) { 
      switch (parser.getString()) { 
       case "name": 
        parser.next(); 
        System.out.print(parser.getString()); 
        System.out.print(": "); 
        break; 
       case "message": 
        parser.next(); 
        System.out.println(parser.getString()); 
        System.out.println("---------"); 
        break; 
      } 
     } 
    } 
} 
あなた'LL

わからない:JSON parser/overview with examples追加

のための標準APIの概要は、入力ストリームからJSONを解析するためにAPIを使用する例を提供しています最終的にあなたのJSONデータを導出することができますが、静的な文字列でそれをテストしたい場合は次のように入力ストリームに文字列を変換することができます:あなたの質問のリストビュー部分については

InputStream stream = new ByteArrayInputStream(json.toString().getBytes(StandardCharsets.UTF_8)); 

- それはないだろうあなたが行ったことと同様にListViewにそれらを追加するためにトークンを解析したら、非常に困難になります。

関連する問題