0

JSON URL から受け取った数字のリストを出力するコードを書きました。約 5 つの異なる URL が使用されており、各 URL にはそれぞれ 100 を超える数字が含まれているため、リストは静かです。

私がやりたいのは、各 URL を表形式で出力することです。つまり、5 つの URL がある場合、1 つの大量のリストを作成する代わりに、5 セットの印刷結果がすべて隣り合って表示されます。

これまでに使用したコードは次のとおりです。

public static void runTimestampCheck (String url) throws IOException
{
    //String jsonString = callURL("http://localhost:8000/eem/api/v1/metrics/temperature/288");
    String jsonString = callURL(url);
    Data data = new Gson().fromJson(jsonString, Data.class);
    //System.out.println(data.getRecords());
    long previousTimestamp = 01;
    long result;
    for(Data dataRecord : data.getRecords())
    {
        if(previousTimestamp > 0)
        {
            //Compare previous to current, should be diff of 60000
            long x = (Long)dataRecord.getTimestamp();
            result = x - previousTimestamp;
            //System.out.println(result);
            if(result != 30000)
            {
                System.out.println(result);
            }
        }
        System.out.println(dataRecord.getTimestamp() + "\n");
        previousTimestamp = dataRecord.getTimestamp();
    }
}

そしてこれが呼び出されます。

    CheckTimestamp.runTimestampCheck("specific url");
    CheckTimestamp.runTimestampCheck("specific url");
    CheckTimestamp.runTimestampCheck("specific url");
    CheckTimestamp.runTimestampCheck("specific url");
    CheckTimestamp.runTimestampCheck("specific url");

私が言ったように、結果は1つの大きな数字のリストですが、可能であれば、各URLの結果を独自の行に投稿したいと思いますか?

どんな助けでも大歓迎です。

4

1 に答える 1

1

最初にテーブルのヘッダーを印刷します。

URL1 URL2 URL3 URL4 URL5

リスト内の json データを取得する別のメソッドを作成します。

List getJsonDataFromURL(String url){

    //use Gson to fetch from url  
    // return list
}

ArrayList異なる URL に対してこの関数を呼び出した後、5 秒を作成する必要があります。それらを呼び出しましょうa,b,c,d,e

5 つの反復子を使用してリストを反復処理し、値を出力します。

Iterator<Data> aIt = a.iterator();
Iterator<Data> bIt = b.iterator();
Iterator<Data> cIt = c.iterator();
Iterator<Data> cIt = d.iterator();
Iterator<Data> cIt = e.iterator();

// assumes all the lists have the same size
while(aIt.hasNext())
{
    System.out.println(aIt.next().data +"  "+bIt.next().data+"  " cIt.next().data+" "+ dIt.next().data, +" "+eIt.next().data );
}
于 2013-10-10T10:42:54.073 に答える