Как извлечь значение из 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 во время выполнения, если указанный вами путь не существует.

  • Получить параметр, отправленный через jquery ajax в Java Servlet
  • Разбор даты JSON на IPhone
  • Игнорировать поля из объекта Java динамически при отправке в виде JSON из Spring MVC
  • Серийный цикл ActiveRecord с использованием JSON вместо YAML
  • Gson сериализует список полиморфных объектов
  • Использование json_encode для объектов в PHP (независимо от области действия)
  • Как получить форматированный JSON в .NET с помощью C #?
  • Как включить JSON в объект с помощью Jackson?
  • передать jquery json в asp.net httphandler
  • Как добавить элементы в неупорядоченный список с помощью jquery
  • Как слить 2 json-файл с помощью jq?
  • Давайте будем гением компьютера.