2011-09-08 25 views
21

Czy istnieje jakiś prosty przykład zastosowania przez Androida JSON w serializacji?JSON na Androida - serializacja

Dzięki

+1

Czy oznacza to http://blog.brianbuikema.com/2010/04/android-how-to-deserialize-both-xml-and-json/ –

+0

Być może , dzięki – Waypoint

Odpowiedz

39

Używamy bibliotekę gson za to. Serializacji jest tak proste, jak wywoływanie

new Gson().toJson(obj) 

a dla deserializacji,

new Gson().fromJson(jsonStr, MyClass.class); 
18

Jeśli chcesz uniknąć używając innej biblioteki w projekcie Android tylko do (de) szeregować JSON, ty cầu wykorzystanie poniższego kodu Ja robię.

do serializacji

JSONObject json = new JSONObject(); 
json.put("key", "value"); 
// ... 
// "serialize" 
Bundle bundle = new Bundle(); 
bundle.putString("json", json.toString()); 

i deserializowania

Bundle bundle = getBundleFromIntentOrWhaterver(); 
JSONObject json = null; 
try { 
    json = new JSONObject(bundle.getString("json")); 
    String key = json.getString("key"); 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 

Pozdrowienia, Martin

-1
protected void onPostExecute(String results) { 
     if (results!=null) { 
      try { 
       Tec tec_m=new Tec(); 

       tec_m=new Gson().fromJson(results, Technician.class); 

       ((AndroidActivity)activity).setData(tec_m); 
      } catch (JSONException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
0

Istnieje prosta biblioteka do (de) szeregować JSON, zgodny z Android własnym json biblioteka.

// deserialize a java bean to json object 
JSONObject studentJson = JsonDeer.toJson(student); 
// serialize a java bean from json object 
Student student1 = JsonDeer.fromJson(studentJson,Student.class); 

library address