2017-02-04 5 views
-3

В настоящее время я использую bufferreader для чтения документации по API. Ниже часть выходного сигнала:Как извлечь конкретную дату на Java?

"number": 88, 
"results": [ 
    { 
     "time": "2013-04-15T18:05:02", 
     "name": "..." 
    }, 
    { 
     "time": "2013-05-01T18:05:00", 
     "name": "..." 
    }, 
    ... 
]  

Если я хочу, чтобы извлечь только «2013-04-15T18: 05: 02», которая является датой. Как я могу это сделать?

+2

Это формат 'JSON'. См. Http://www.java2blog.com/2013/11/java-json-tutorial.html или аналогичный. –

+1

Откройте google, введите «parse json java», решите проблему – MadProgrammer

+0

Есть ли какие-либо способы, чтобы я мог ее извлечь без использования Json? – user21478621

ответ

0

Вы можете использовать minimal json.

Следующий фрагмент кода извлекает даты и идентификаторы всех элементов:

JsonObject object = Json.parse(output).asObject(); 
JsonArray results = object.get("results").asArray(); 
for (JsonValue item : results) { 
    String date = item.asObject().getString("date", ""); 
    String id = item.asObject().getString("id", ""); 
    ... 
} 
+0

В настоящее время я работаю над этой проблемой на кодер-панели. Мне интересно, не импортировать json-файлы в каталог и т. Д., Что я действительно импортирую на coderpad, чтобы выполнить работу? – user21478621

+0

Вы можете разбирать JSON в Java без импорта чего-либо. [Http://stackoverflow.com/questions/2591098/how-to-parse-json-in-java](http://stackoverflow.com/questions/2591098/how-to-parse-json-in-java) – hvardhan

+0

Извините, что я новичок в этом. Это все еще довольно запутанно. Когда я пытался создать JsonObject, coderpad сказал «не могу найти символ», который меня смутил. – user21478621

0

Формат вашей строки, кажется, JSON. Вы можете использовать Jackson API для анализа строки JSON в массиве. Если вы не хотите использовать Jackson или другой JSON API, вы все равно можете это сделать, используя некоторые из методов класса java.util.String. Оформить следующий образец:

List<String> dates = new ArrayList<String>(); 
String results = jsonString.substring(jsonString.indexOf("results")); 
while((int index = results.indexOf("\\"date\\"")) != -1) { 

    String date = results.substring(results.indexOf(':', index), results.indexOf(',', index)).replaceAll(" ", "").replaceAll("\\"", ""); 
    dates.add(date); 
    results = results.substring(results.indexOf(',', index)); 

} 

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

  • Нет связанных вопросов^_^