Intereting Posts
Android Bluetooth Scan для классических и BTLE устройств Как Android XmlPullParser обрабатывает уязвимости? Как сохранить и повторно использовать один и тот же экземпляр фрагментов? Как вы получаете контактную фотографию через поставщика контактов в android 2.3.6? Кросс-компиляция статического мира C hello для Android с использованием arm-linux-gnueabi-gcc Изменение цвета строки состояния при изменении фрагмента Почему знак «плюс» для идентификационных ресурсов в названии имен в Android Android: Что такое Binder Thread? Android ndk multitouch? Как вернуть изображение из opencv и отобразить в javas-коде Android? Полученное сообщение GCM отображается с искаженным текстом Фоновые службы останавливаются, когда приложение закрывается с помощью кнопки BACK Как получить pid приложения Android с помощью оболочки adb? Как вернуть данные из AsyncTask в основной поток TransitionDrawable: автоматически обратный переход после завершения

Преобразование объекта в JSON на Android

Есть ли простой способ конвертировать любой объект в JSON в Android?

Большинство людей используют gson: https://github.com/google/gson

Gson gson = new Gson(); String json = gson.toJson(myObj); 
 public class Producto { int idProducto; String nombre; Double precio; public Producto(int idProducto, String nombre, Double precio) { this.idProducto = idProducto; this.nombre = nombre; this.precio = precio; } public int getIdProducto() { return idProducto; } public void setIdProducto(int idProducto) { this.idProducto = idProducto; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public Double getPrecio() { return precio; } public void setPrecio(Double precio) { this.precio = precio; } public String toJSON(){ JSONObject jsonObject= new JSONObject(); try { jsonObject.put("id", getIdProducto()); jsonObject.put("nombre", getNombre()); jsonObject.put("precio", getPrecio()); return jsonObject.toString(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); return ""; } } 

Может быть, лучший выбор:

 @Override public String toString() { return new GsonBuilder().create().toJson(this, Producto.class); } 

Начиная с Android 3.0 (уровень API 11) у Android появился более современный и улучшенный JSON Parser.

http://developer.android.com/reference/android/util/JsonReader.html

Читает кодированное значение JSON (RFC 4627) как поток токенов. Этот поток включает в себя как литеральные значения (строки, числа, логические и нулевые значения), так и начальные и конечные разделители объектов и массивов. Токены пересекаются по глубине – первый порядок, тот же порядок, что и в документе JSON. Внутри объектов JSON пары имя / значение представлены одним токеном.

Spring для Android делает это с помощью RestTemplate легко:

 final String url = "http://192.168.1.50:9000/greeting"; RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter()); Greeting greeting = restTemplate.getForObject(url, Greeting.class); 

Это способ преобразования строки JSON в объект JSON изначально без использования каких-либо внешних библиотек и получения соответствующих значений для ключа. Надеюсь, что ниже будет работать.

 String JSONstring = "{/"key1/":/"I am Value for Key1/"}"; //Import these libraries import org.json.JSONException; import org.json.JSONObject; //Code below try { String myVariable = jsonObject.optString("key1", "Fallback Value if key1 is not present"); System.out.println("Testing: "+ myVariable); } catch (JSONException e) {e.printStackTrace();}