2011-01-05 13 views
0

Ich habe Schwierigkeiten, eine JSON-Zeichenfolge zu dekodieren. Unten ist mein json string:JSON-Decodierung in Android

{ 
    "udeals":"[{\"vName\":\"bussinessname3\",\"vAddress\":\"address3\",\"vState\":\"Kerala\",\"vZip\":\"232\",\"vCountry\":\"Algeria\",\"id\":\"3\",\"dealCategoryID\":\"2\",\"dealCaption\":\"deal3\",\"dealurl\":\"http:\\/\\/192.168.0.8\\/ppppp\\/deals\\/deal3-3\\/\",\"dealImage\":\"http:\\/\\/192.168.0.8\\/ppppp\\/images\\/deals\\/thumb390x256\\/Duizl1.jpg\",\"dealPrice\":\"50.00\",\"dealCost\":\"100.00\",\"dealSave\":-50,\"dealOfferRate\":\"50.00\",\"jsDeadLine\":{\"seconds\":0,\"minutes\":0,\"hours\":0,\"mday\":5,\"wday\":3,\"mon\":1,\"year\":2011,\"yday\":4,\"weekday\":\"Wednesday\",\"month\":\"January\",\"0\":1294165800},\"unlockedStamp\":{\"seconds\":53,\"minutes\":56,\"hours\":18,\"mday\":5,\"wday\":3,\"mon\":1,\"year\":2011,\"yday\":4,\"weekday\":\"Wednesday\",\"month\":\"January\",\"0\":1294234013},\"description\":\"Google URL Shortener at goo.gl is used by Google products to create short URLs that can be easily shared, tweeted, or emailed to friends.\"},{\"vName\":\"bussinessname20010\",\"vAddress\":\"address20010\",\"vState\":\"Kerala\",\"vZip\":\"232\",\"vCountry\":\"Argentina\",\"id\":\"20010\",\"dealCategoryID\":\"2\",\"dealCaption\":\"deal20010\",\"dealurl\":\"http:\\/\\/192.168.0.8\\/ppppp\\/deals\\/deal20010-20010\\/\",\"dealImage\":\"http:\\/\\/192.168.0.8\\/ppppp\\/images\\/deals\\/thumb390x256\\/oCcfTj.jpg\",\"dealPrice\":\"50.00\",\"dealCost\":\"100.00\",\"dealSave\":-50,\"dealOfferRate\":\"50.00\",\"jsDeadLine\":{\"seconds\":0,\"minutes\":0,\"hours\":0,\"mday\":28,\"wday\":2,\"mon\":12,\"year\":2010,\"yday\":361,\"weekday\":\"Tuesday\",\"month\":\"December\",\"0\":1293474600},\"unlockedStamp\":{\"seconds\":53,\"minutes\":56,\"hours\":18,\"mday\":5,\"wday\":3,\"mon\":1,\"year\":2011,\"yday\":4,\"weekday\":\"Wednesday\",\"month\":\"January\",\"0\":1294234013},\"description\":\"this is\"}]" 
} 

Kann jemand bitte geben Sie mir Lösung dafür, wie diese ...

in Android zu analysieren

Antwort

8

diese json kann mit dem folgenden Code analysiert werden.

str="<The Json>" 
try { 
        JSONObject jObject=new JSONObject(str); 
        JSONArray menuObject = new JSONArray(jObject.getString("udeals")); 

        for (int i = 0; i<menuObject.length(); i++) { 
         System.out.println("length="+menuObject.length()); 
         System.out.println("vName="+menuObject.getJSONObject(i) 
           .getString("vName").toString()); 
         System.out.println("vAddress="+menuObject.getJSONObject(i).getString(
           "vAddress").toString()); 
         System.out.println("vState="+menuObject.getJSONObject(i) 
           .getString("vState").toString()); 
         System.out.println("vZip="+menuObject.getJSONObject(i).getString(
           "vZip").toString()); 
         System.out.println("vCountry="+menuObject.getJSONObject(i) 
           .getString("vCountry").toString()); 
         System.out.println("dealCategoryID="+menuObject.getJSONObject(i) 
           .getString("dealCategoryID").toString()); 
         System.out.println("dealCaption="+menuObject.getJSONObject(i).getString(
           "dealCaption").toString()); 
         System.out.println("dealImage="+menuObject.getJSONObject(i) 
           .getString("dealImage").toString()); 
         System.out.println("dealPrice="+menuObject.getJSONObject(i).getString(
           "dealPrice").toString()); 
         System.out.println("dealCost="+menuObject.getJSONObject(i) 
           .getString("dealCost").toString()); 
         System.out.println("dealSave="+menuObject.getJSONObject(i).getString(
           "dealSave").toString()); 
         System.out.println("dealOfferRate="+menuObject.getJSONObject(i) 
           .getString("dealOfferRate").toString()); 
         System.out.println("jsDeadLine="+menuObject.getJSONObject(i).getString(
           "jsDeadLine").toString()); 
         jsDeadLine=menuObject.getJSONObject(i).getString("jsDeadLine").toString(); 
         JSONObject deadLine= new JSONObject(jsDeadLine); 
         String seconds = deadLine.getString("seconds"); 
         String minutes = deadLine.getString("minutes"); 
         String hours = deadLine.getString("hours"); 
         String mday = deadLine.getString("mday"); 
         String wday = deadLine.getString("wday"); 
         String mon = deadLine.getString("mon"); 
         String year = deadLine.getString("year"); 
         String yday = deadLine.getString("yday"); 
         String weekday = deadLine.getString("weekday"); 
         String month = deadLine.getString("month"); 
         System.out.println("seconds:"+seconds); 
         System.out.println("minutes:"+minutes); 
         System.out.println("hours:"+hours); 



         System.out.println("unlockedStamp="+menuObject.getJSONObject(i) 
           .getString("unlockedStamp").toString()); 

         unlockedStamp=menuObject.getJSONObject(i).getString("unlockedStamp").toString(); 
         JSONObject unlocked= new JSONObject(unlockedStamp); 
         String unlockedseconds = unlocked.getString("seconds"); 
         String unlockedminutes = unlocked.getString("minutes"); 
         String unlockedhours = unlocked.getString("hours"); 
         String unlockedmday = unlocked.getString("mday"); 
         String unlockedwday = unlocked.getString("wday"); 
         String unlockedmon = unlocked.getString("mon"); 
         String unlockedyear = unlocked.getString("year"); 
         String unlockedyday = unlocked.getString("yday"); 
         String unlockedweekday = unlocked.getString("weekday"); 
         String unlockedmonth = unlocked.getString("month"); 
         System.out.println("unlockedseconds:"+unlockedseconds); 
         System.out.println("unlockedminutes:"+unlockedminutes); 
         System.out.println("unlockedhours:"+unlockedhours); 


         System.out.println("description="+menuObject.getJSONObject(i).getString(
           "description").toString()); 
         System.out.println("id="+menuObject.getJSONObject(i) 
           .getString("id").toString()); 
         System.out.println("dealurl="+menuObject.getJSONObject(i).getString(
           "dealurl").toString()); 
        } 

       } catch (Exception e) { 
        e.printStackTrace(); 
       } 



      } 




    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 
+0

Vielen Dank. Bist du von Calicut? – Sayka

5
JSONObject json = new JSONObject(yourstring); 
JSONArray jsa = json.getJSONArray("udeals"); 
.... 

Es ist wirklich einfach: http://developer.android.com/reference/org/json/JSONObject.html

+0

Ich bemerke, dass Udeals ist eigentlich kein Array, sondern eine Zeichenfolge (in Anführungszeichen). Würde das noch funktionieren? Dies könnte sein, wo Basil sein Problem erlebt ... Um es zu beheben, müsste er sagen: JSONObject obj = new JSONObject (yestring); JSONArray arr = neues JSONArray (json.getString ("ureals")); Recht? – ndtreviv

Verwandte Themen