如何在JsonParsing中排序时间?
答
我不知道你怎么想的那样进行排序和完整数据的样子,但这里的想法:
JSONArray jsonEvents = new JSONObject(json).getJSONArray("event");
JSONObject [] events = new JSONObject[jsonEvents.length()];
// fill an array with your events
for (int i = 0; jsonEvents.length(); i++) {
events[i] = jsonEvents.getJSONObject(i);
}
// sort them
Arrays.sort(events, new Comparator<JSONObject>() {
static final SimpleDateFormat sdfToDate = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
public int compare(JSONObject event1, JSONObject event2) {
return sdfToDate.parse(event1.getString("startTime")).compareTo(
sdfToDate.parse(event2.getString("startTime"))
}
});
答
String myjson = "{"events":{"event":[{"title":"Audi urban future","startTime":"2011-09-16 00:30:00","endTime":"2011-09-22 00:35:00","description":"test","image":"http://audi.smart-media.no/wp-content/uploads/2011/09/20110919130749-medium.jpg","latitude":45.73154,"longitude":4.8592365}]}}"
JSONArray array= new JSONArray(myjson);
for(int i = 0; i < array.length; i++) {
JSONObject object = (JSONObject) array.get(i);
object.getString("startTime");
}
答
可以使用
Collections.sort(String,new Comparator<String>() {
public int compare(String arg0, String arg1) {
// TODO Auto-generated method stub
return 0;
}
});
所有最佳
嗨我treid此代码,但我没有得到它。它显示Arrays.sort中的错误(事件,新比较器(){0}最终的SimpleDateFormat sdfToDate = new SimpleDateFormat(“dd-MM-yyyy HH:mm:ss”); public int compare(JSONObject event1,JSONObject event2 ){ 回报sdfToDate.parse(event1.getString( “开始时间”))的compareTo( sdfToDate.parse(event2.getString( “开始时间”)) 。} });请解决这个 –
harish
错误是什么样的吗?没有测试代码,这是一个蓝图和想法只... – Knickedi
嗨它得到解决谢谢 – harish