Как извлечь значение из Json

Я получаю ответ String с сервера, как показано ниже.

{ "name": "Json", "detail": { "first_name": "Json", "last_name": "Scott", "age": "23" }, "status": "success" } 

Я хочу получить значение First name. Как я могу это сделать? Заранее спасибо.

см. этот код, что я использую в своем приложении

 String data="{'foo':'bar','coolness':2.0, 'altitude':39000, 'pilot':{'firstName':'Buzz','lastName':'Aldrin'}, 'mission':'apollo 11'}"; 

Я получил это

 JSONObject json = (JSONObject) JSONSerializer.toJSON(data); double coolness = json.getDouble( "coolness" ); int altitude = json.getInt( "altitude" ); JSONObject pilot = json.getJSONObject("pilot"); String firstName = pilot.getString("firstName"); String lastName = pilot.getString("lastName"); System.out.println( "Coolness: " + coolness ); System.out.println( "Altitude: " + altitude ); System.out.println( "Pilot: " + lastName ); 

Используйте анализатор JSON. На Java существует множество парсеров JSON.

http://www.json.org/

Посмотрите раздел Java и найдите тот, который вам нравится.

Вставка моего кода здесь, это должно помочь. Он показывает пакет, который можно использовать.

 import org.json.JSONException; import org.json.JSONObject; public class extractingJSON { public static void main(String[] args) throws JSONException { // TODO Auto-generated method stub String jsonStr = "{\"name\":\"SK\",\"arr\":{\"a\":\"1\",\"b\":\"2\"}}"; JSONObject jsonObj = new JSONObject(jsonStr); String name = jsonObj.getString("name"); System.out.println(name); String first = jsonObj.getJSONObject("arr").getString("a"); System.out.println(first); } } 

Если вы не возражаете добавить зависимость, вы можете использовать JsonPath .

 import com.jayway.jsonpath.JsonPath; String firstName = JsonPath.read(rawJsonString, "$.detail.first_name"); 

«$» указывает корень исходной строки json, а затем вы указываете путь к нужному полю. Это всегда возвращает строку. Вам нужно будет делать кастинг самостоятельно.

Имейте в виду, что он будет вызывать исключение PathNotFoundException во время выполнения, если указанный вами путь не существует.

  • Spring 4.x / 3.x (веб-MVC) REST API и JSON2 Почтовые запросы, как правильно это сделать один раз для всех?
  • Бесконечная recursion с выпуском Jackson JSON и Hibernate JPA
  • MVC ajax json post для метода действия controllerа
  • Должен ли я объявлять ObjectMapper jacksonа как статическое поле?
  • Где я могу найти список escape-символов, необходимых для моего возвращаемого типа JSON ajax?
  • Почему $ .getJSON бесшумно терпит неудачу?
  • Как POST объект JSON для службы JAX-RS
  • Использование AsyncTask с передачей значения
  • Получите вложенный объект JSON с помощью GSON с помощью модифицированной
  • JsonMappingException: не найдено подходящего конструктора для типа : невозможно создать экземпляр из объекта JSON
  • Сериализация JSON массива с полиморфными объектами
  • Давайте будем гением компьютера.