我收到下面的JSON,我可以通過描述和日期解析。我一直試圖解析整個時間,但是我所嘗試的一切都會讓我輸出糟糕的結果。從json解析時間。具體格式
時間對象應該說5:30,但我不知道我是否能夠通過該格式解析。我認爲這是public String format3339 (boolean allDay)
我已經發布了JSON輸入,我的JSON解析和輸出。
輸入
{"object":[{"description":"blah blah blah","date":"2012-12-11","time":"2000-01-01T05:30:00Z"}]}
主要是我擔心的"time":"2000-01-01T05:30:00Z"
解析
JSONArray arr = null;
list = new ArrayList<HashMap<String, String>>();
}
for (int i = 0; i < arr.length(); i++) {
JSONObject d = arr.getJSONObject(i);
Time time = new Time();
String etime = d.getString(TIME_TAG);
String description = d.getString(DESCRIPTION_TAG);
String date = d.getString(DATE_TAG);
//************************************************************************
//********I suspect that i might be converting the time object incorrectly but whatever
//********i put here either does not work or gives me bad output.
Boolean mtime = time.parse3339(etime);
if (mtime == true) {
etime = time.toString();
}
//************************************************************************
HashMap<String, String> map = new HashMap<String, String>();
map.put(DATE_TAG, date);
map.put(DESCRIPTION_TAG, description);
map.put(TIME_TAG, etime);
list.add(map);
輸出 - 我不明白這個輸出我認爲投入是3339格式,但輸出很難合作。我想我可以讓一個解析器從給出的字符串中解析出530,但我認爲我的輸出將是toString()操作的YYYYMMDDTHHMMSS格式。
20000101T053000UTC(0,0,0,-1,946704600)
編輯::這就是我一起砍了什麼,想要什麼,我想用一點努力。它現在工作。
JSONArray arr = null;
list = new ArrayList<HashMap<String, String>>();
}
for (int i = 0; i < arr.length(); i++) {
JSONObject d = arr.getJSONObject(i);
String etime = d.getString(TIME_TAG);
String description = d.getString(DESCRIPTION_TAG);
String date = d.getString(DATE_TAG);
if (eTime.charAt(11) == '0')
eTime = eTime.substring(12, 16);
else
eTime = eTime.substring(11, 16);
HashMap<String, String> map = new HashMap<String, String>();
map.put(DATE_TAG, date);
map.put(DESCRIPTION_TAG, description);
map.put(TIME_TAG, etime);
list.add(map);
好吧所以我認爲是看你在什麼。最接受的時間格式是一個看起來像「2008-10-13T16:00:00.000Z」的字符串「我的輸入缺少最後3個整數。 '2000-01-01-T05:30:00Z'這是否意味着我只是無法解析這種格式?如果是這種情況,那麼我想我可能通過刪除最後一個字符並添加一個「+」.000Z「' – doubleA
@doubleA右鍵,確保'.000Z'不存在,但是從我的exp中刪除。你仍然無法解析它。之前,將其轉換爲適當的日期形式 –
我最終只是爲了我所需要的而工作。我上面發佈了我的編輯。我可能會稍後回去改變它,但現在它正在按照我希望的方式工作。謝謝你的幫助好先生。 ---順便說一句,即使刪除最後一個字符並添加「.000Z」,也不會將字符串以正確的格式進行解析。我想知道這是爲什麼。如果解析器確實只是解析一個字符串,如果它是以特定格式創建的話,它應該是否重要? – doubleA