2013-07-22 4 views
0

Я использую org.json для разбора строки JSON для объекта JSON, у меня есть поле expirationDate в объекте JSON, и я хочу, чтобы он анализировался в java.util.Date, но класс JSONObject не имеет getDate(). Когда я использую метод getString(), я получаю исключение, если я использую метод get(), а затем вызывается метод toString(), я получаю исключение нулевого указателя. Я получаю JSONs от mongodb. Итак, как мне получить java.util.Date из JSONObject?Дата получения от JSONObject

Мой код:

JSONArray jUsage = jsonObj.getJSONArray("attribute"); 
for(int i=0;i<jUsage.length();i++){ 
    JSONObject eachUsage = jUsage.getJSONObject(i); 
    String aa = eachUsage.get("expirationDate").toString(); 
} 

Мой JSON:

"attribute": [ 
    { 
     "expirationDate": { 
      "$date": "2013-07-09T08:58:57.517Z" 
     } 
    } 
], 
+0

Пожалуйста ВЫВЕШУ [SSCCE] (http://sscce.org/), так что мы можем понять точную проблему - сейчас вы 'только перечисление симптомов. –

+0

1) Просьба привести пример JSON ваших данных и 2) Исходный код, с которым возникают проблемы. –

ответ

0

Удалить "$" от вашего "$ дата". Кроме того, я бы предложил изменить имя «дата» на что-то вроде «dateInUTC», чтобы убедиться, что org.json не вмешивается в процесс.

Впоследствии получить значение как чистую строку. Далее, на стороне java вам нужно использовать SimpleDateFormat или что-то вроде JODA для анализа строки в java.util.Date.

Это может помочь вам иметь лучшее представление:

http://rafaelsantosbra.wordpress.com/2013/07/05/implementing-date-and-time-standards-rfc-3339-across-web-services-and-web-pages/

Смежные вопросы