2017-08-27 19 views
-2

コードは です。時刻と日付に基づいて並べ替えたいです: それらは既に表示されています。今のところ、jsonオブジェクトをxmlに解析するコードがあります。私がしたいのは、時間や日付に基づいて解析するだけです。時間によって時間を基準にしてjsonオブジェクトを並べ替えた後、順序として並べ替える

{ 
    "Postdetails": [ 
    { 
     "min_ago": "2 min ago", 
     "number_of_likes": "63", 
     "number_of_comments": "92", 
     "date": "7 March 2017" 
    }, 
    { 
     "min_ago": "5 min ago", 
     "number_of_likes": "72", 
     "number_of_comments": "123", 
     "date": "7 March 2017" 
    }, 
    { 
     "min_ago": "9 min ago", 
     "number_of_likes": "123", 
     "number_of_comments": "9123", 
     "date": "10 March 2017" 
    }, 
    { 
     "min_ago": "6 min ago", 
     "number_of_likes": "133", 
     "number_of_comments": "9123", 
     "date": "9 March 2017" 
    } 
    ] 
} 
+0

注文する日付を抽出する時点で、すでにそれを解析しています。おそらくあなたのアプリケーションには意味があるかもしれません(あるいは、あなたのユースケースを知らないのですが)、おそらく何らかのDBを使って、最初の解析後に結果をキャッシュすることですが、データ構造が単純ならば、このように。 –

+0

どのように結果をキャッシュするのですか? –

+0

私の回答を質問に移動しました。下記を参照してください。 –

答えて

0

日付を抽出します。以下の項目が異なる日付および(2分前、5分前など)時間

try { 
// Create the root JSONObject from the JSON string. 
JSONObject jsonRootObject = new JSONObject(myjsonstring); 

//Get the instance of JSONArray that contains JSONObjects 
JSONArray jsonArray = jsonRootObject.getJSONArray("Postdetails"); 

//Iterate the jsonArray and print the info of JSONObjects 
for (int i = 0; i < jsonArray.length(); i++) { 
    JSONObject jsonObject = jsonArray.getJSONObject(i); 
    //Collections.sort(jsonValues); 
    String text = jsonObject.optString("number_of_likes").toString(); 
    String minute = jsonObject.optString("min_ago").toString(); 
    //float salary = Float.parseFloat(jsonObject.optString("salary").toString()); 
    time += minute + "\n" + "\n" + "\n" + "\n" + "\n" + "\n" + "\n"; 
    data += text; 

} 

output.setText(data); 
timeago.setText(time); 


} catch (JSONException e) { 
e.printStackTrace(); 
} 

JSONファイルがあるJSONファイルの例です。それらを注文するには、あなたはすでにそれを解析しています。おそらくあなたのアプリケーションには意味があるかもしれません(あるいは、あなたのユースケースを知らないのですが)、おそらく何らかのDBを使って、最初の解析後に結果をキャッシュすることですが、データ構造が単純ならば、このように。

あなたはキャッシュ戦略をフォローしたい場合は、あなたは、オンラインチュートリアルをたくさん持っているSQLiteの(アクセスが容易、またはいくつかの他のORMを作るために、その上にRoomを使用)、またはRealm、などのデータベースを使用することができます。さらに多くのものがありますが、その2つは使いやすいものです。

関連する問題